編譯boost到Android平台

2021-07-25 11:48:50 字數 1754 閱讀 6966

在\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++ :

--sysroot=$(androidndkroot)/platforms/android-

9/arch-arm

-mthumb

-os

-fno-strict

-aliasing

-o2

-dndebug

-g

-lstdc++

-i$(androidndkroot)/sources/cxx-stl/gnu-libstdc

++/4.9/include

-i$(androidndkroot)/sources/cxx-stl/gnu-libstdc

++/4.9/libs/armeabi/include

-d__glibc__

-d__arm__

$(androidndkroot)/toolchains/arm-linux

-androideabi

-4.9/prebuilt/windows/bin/arm-linux

-androideabi

-ar$(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 ( )

return $(api) ;

}

把if這句**給注掉

我編譯好的boost庫,1.59版本的,有需要的可以拿去

在Android編譯並使用boost

在網上找了好多關於android如何編譯和使用boost的文章,不時過時,就是行不通。花了些時間研究了這個問題,所以整理如下。由於文筆有限,大家在使用過程有問題,歡迎多交流。android ndk android ndk r7 crystax 5.beta3 boost for android 工程...

boost 編譯選項

執行bootstrap.bat,生成bjam.exe 新建build.bat bjam toolset msvc 8.0 address model 64 1.完全編譯安裝 bjam toolset msvc install 完成後會生成乙個bin.v2編譯時的臨時目錄,手動刪除。生成另乙個目錄c ...

boost 編譯 安裝

2.解壓到合適目錄,我是在d boost 1 47 0。3.開啟使用boost的vs版本的visual studio 命令提示。我用的是 2010 4.在命令提示中進入cd d boost 1 47 0 tools build v2 5.執行bootstrap.bat 等待片刻。6.將第5步在v2目...