当 darwin.jam 的 macosx-version-min 设置为我的机器上未安装的 SDK 版本时,Boost Bjam/b2 应该失败吗?



我正在为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

最新更新