我正在为iOS构建一些c++ Boost库(测试库)。我想将b2的macosx-version-min选项设置为未安装在我的机器上的SDK版本(例如:macosx-version-min = 4.3,而仅安装了SDK 6.0)。但是,Boost的b2报告一个错误,指出请求版本没有安装SDK。
-
a)当b2的macosx-version-min设置为未安装在我的机器上的SDK版本时,Boost Bjam/b2应该失败吗?
-
b)由于Boost库是c++库,指定macosx-version-min(又名iOS上的部署目标SDK)是否有意义?
-
c)如果b)是,它在什么情况下是有用的?我知道它在Objective-C中很有用,当弱链接Apple框架头符号时。
- Max OS X 10.8.2
- iOS SDK安装:iOS 6.0 4.5.2
- Xcode: Boost c++: 1.50
这是boot's jam文件中的一个bug,他们还没有修复。我之前把果酱文件"添加"到我想要的最小值。我真的希望他们尽快切换到cmake,因为cmake能正确理解这一点。
因此,编辑tools/build/v2/tools/darwin。Jam文件并添加以下行feature.extend macosx-version-min : 4.3 ;
后feature macosx-version-min : : propagated optional ;
。
这也适用于Mac OS X。例如,在最小版本列表中添加10.6