在\tools\build\src新建文件 user-config.jam
文件内容如下
import os ;
androidNDKRoot = D:/android_dev/android-ndk-r10c ;
using gcc : android :
$(androidNDKRoot)/toolchains/arm-linux-androideabi-4.9/prebuilt/windows/bin/arm-linux-androideabi-g++ :
<compileflags>--sysroot=$(androidNDKRoot)/platforms/android-9/arch-arm
<compileflags>-mthumb
<compileflags>-Os
<compileflags>-fno-strict-aliasing
<compileflags>-O2
<compileflags>-DNDEBUG
<compileflags>-g
<compileflags>-lstdc++
<compileflags>-I$(androidNDKRoot)/sources/cxx-stl/gnu-libstdc++/4.9/include
<compileflags>-I$(androidNDKRoot)/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi/include
<compileflags>-D__GLIBC__
<compileflags>-D__arm__
<archiver>$(androidNDKRoot)/toolchains/arm-linux-androideabi-4.9/prebuilt/windows/bin/arm-linux-androideabi-ar
<ranlib>$(androidNDKRoot)/toolchains/arm-linux-androideabi-4.9/prebuilt/windows/bin/arm-linux-androideabi-ranlib
;
打开命令行工具,cd到boost根目录
执行
bootstrap
执行
b2.exe --without-python --prefix=.\out\ --build-dir=.\build variant=release link=static runtime-link=static toolset=gcc-android target-os=linux threading=multi --stagedir=android stage
执行完会多出一个android文件夹,里面就是编译好的库
编译过程中出的问题
在编译boost的thread库找不到”process.h”,提示”fatal error: process.h: No such file or directory”
解决办法:找到这个文件D:\boost_1_59_0\libs\thread\build\Jamfile.v2,
里面有这一段代码
local rule default_threadapi ( )
{
local api = pthread ;
if [ os.name ] = "NT" { api = win32 ; }
return $(api) ;
}
把if这句代码给注掉
我编译好的boost库,1.59版本的,有需要的可以拿去
https://github.com/GhostRain/boost_1_59-for-android