編譯工作多數(shù)都是使用IDE,配置參數(shù)較少涉及,因此對這方面不是很熟悉,最近客戶端開發(fā)中用到了websocket協(xié)議,經(jīng)過調(diào)研使用C++開源庫POCO,這個庫功能很多,接口好用。
直接說安卓平臺編譯庫時遇到的問題及解決方法:
1、編譯機(jī)器配置好ndk;
2、github上面有編譯說明:
https://github.com/pocoproject/poco/blob/master/doc/99300-AndroidPlatformNotes.page
但文章中命令行有誤,易誤導(dǎo)
$NDK/build/tools/make-standalone-toolchain.sh --arch arm --install-dir=$HOME/my-android-toolchain/arm
其中--arch參數(shù)部分應(yīng)為--arch=arm
$NDK為本機(jī)ndk路徑,即ndk-build文件的存儲路徑。
1)$NDK/build/tools/make-standalone-toolchain.sh --arch=arm --install-dir=$HOME/my-android-toolchain/arm?
編譯x86庫應(yīng)為下面的命令:
$NDK/build/tools/make-standalone-toolchain.sh --arch=x86 --install-dir=$HOME/my-android-toolchain/arm
2)export PATH=$PATH:$HOME/my-android-toolchain/bin
自己需要調(diào)整成:export PATH=$PATH:$HOME/my-android-toolchain/arm/bin
3)./configure --config=Android --minimal --static --no-samples --no-tests --cflags=-std=c99
其中--cflags=-std=c99是嘗試后添加的參數(shù),否則for循環(huán)編譯報錯
4)make -s -j4 默認(rèn)編譯 <*armeabi*> platform ABI,若想編譯指定平臺的執(zhí)行下面的命令:
make -s -j4 ANDROID_ABI=armeabi-v7a
編譯x85平臺的對應(yīng)1)中的--arch=x86參數(shù),執(zhí)行下面的命令:
make -s -j4 ANDROID_ABI=x86
對于編譯還不是特別熟,這次稍微多了一些了解,希望后面還能繼續(xù)加強(qiáng),以此文章記錄一下,方便后面查閱。