相关疑难解决方法(0)

如何在OS X 10.8.4上为iOS模拟器(6.1)编译Boost 1.54.0(1.54)?

我已经成功地编译了几个Boost库,并使用这个脚本创建了一个用于OS X,iOS和iOS模拟器的框架:https://github.com/wuhao5/boost/blob/188e905626dbd522f65950102ed0c8ce77cb28e8/boost.sh基于Peter Goodliffe在这里的工作:http://goodliffe.blogspot.com/2010/09/building-boost-framework-for-ios-iphone.html,使用了使用clang和链接libc ++的Boost 1.53.0.

使用Boost 1.54.0编译iOS模拟器时脚本失败,并出现以下错误:/bin/sh: line 1: -ftemplate-depth-128: command not found.

我做了很多挖掘,这就是我所知道的:

  • 在boost.sh中,iOS模拟器bjam和编译器选项包括"-arch i386"
  • Boost 1.54.0的发行说明指出"Boost不再支持80386目标CPU"
  • Boost 1.53.0似乎可以使用相同的脚本编译为OS X,iOS和iOS模拟器
  • Boost 1.54.0似乎可以使用相同的脚本编译为OS X和iOS本身

以下是我认为我所知道的:

  • 将"-d13"传递给bjam(以生成调试信息)时,似乎在构建iOS模拟器时未设置变量"CONFIG_COMMAND".对于其他配置,此变量设置为clang的路径,并包含编译器选项.对于模拟器,它是空的,我相信导致上面的错误,因为当bjam尝试使用此变量运行编译器时,它会运行一些以模板深度开头的附加选项.因此,CONFIG_COMMAND变量似乎没有正确设置导致失败.

我不知道为什么它没有被设置,因为我不太了解Boost构建系统来筛选它使用"-d13"标志生成的其余100 + MB输出.我怀疑1.54.0引入了与"-arch i386"选项的不兼容性.我已经尝试将其更改为"-arch i486"和"-arch x86_32"但出现同样的问题.

还有其他人在这方面取得了成功吗?我想使用Boost.Log这就是为什么我甚至尝试这个.

c++ boost clang ios c++11

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

boost ×1

c++ ×1

c++11 ×1

clang ×1

ios ×1