boost 1.55.0 Xcode 5.1 iOS/iOSSim交叉编译iOS7.1,有需要的朋友可以参考下。
由于boost的升级,和Xcode升级,iOSSDK的升级,编译器的改变,原来的编译方法已经出现问题,琢磨一天,参考:
https://svn.boost.org/trac/boost/ticket/9610
https://gist.github.com/faithfracture/c629ae4c7168216a9856/download#
1 和 以前的 交叉编译一致:在用户目录下建立user-config.jam文件,文件内容如下:
编译iphonesim是放前面,编译iphones是放前面
using darwin : 7.1~iphonesim
: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch i386 -DBOOST_SP_USE_PTHREADS -DBOOST_THREAD_DONT_USE_ATOMIC -std=c++11 -stdlib=libc++
: <striper> <root>/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer
: <architecture>x86 <target-os>iphone
;
using darwin : 7.1~iphone
: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch armv7 -arch armv7s -arch arm64 -DBOOST_SP_USE_PTHREADS -std=c++11 -stdlib=libc++
: <striper> <root>/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer
: <architecture>arm <target-os>iphone
2 进入boost_1_55_0下,执行./bootstrap.sh
3 export SDK_VERSION="7.1"
4 编译iOS模拟器release版
./bjam --prefix=${HOME} toolset=darwin variant=release architecture=x86 target-os=iphone macosx-version=iphonesim-${SDK_VERSION} link=static install
5 编译iOS真机release版
export SDK_VERSION="7.1"
./bjam --prefix=${HOME} toolset=darwin variant=release architecture=arm target-os=iphone macosx-version=iphone-${SDK_VERSION} define=_LITTLE_ENDIAN link=static install