由于只有一个编译器 LLVM 5.0,我在构建 Xcode 5 的 Boost 时遇到了问题。
我尝试过使用 --c++11、使用 clang 来使用 Homebrew...我尝试过各种想法和脚本,但到目前为止没有一个有效。
要为使用 clang/llvm(Xcode 5 的唯一编译器)编译的 boost 1.54.0 构建 32/64 位胖静态二进制文件:
- 下载 unix tarball(不是 ZIP!——它有 CR/LF 行结尾并且会 gack)
- 解压它。
- cd 至 boost_1_54_0/
-
Run:
./bootstrap.sh 工具集=clang
-
Run:
./b2 toolset=clang --without-mpi cxxflags="-arch i386 -arch x86_64 -fvisibility=hidden -fvisibility-inlines-hidden -std=c++11 -stdlib=libc++ -ftemplate-深度=512" linkflags= “-stdlib=libc++”链接=静态阶段
...将输出库放入 ./stage/lib
然后将库移动到您想要的位置。
这些是发布库,应该是您所需要的。
这是针对 OSX 的。对于 iOS,您可以更改 -arch 并在 cxxflags= 中添加其他选项。
如果需要消息传递接口,请从 b2 命令中删除 --without-mpi。
====
有趣的事实:
- 构建提升似乎是一个不断变化的目标,因此这些说明可能会在未来的版本中中断
- 我尝试 -Wno-xxxx 在 cxxflags= 中关闭警告...但它不起作用
- bjam 和 b2 是同一个东西,b2 是新名称
- clang 作为一流的工具集是在此过程中添加的,因此您可以忽略网络上修改“user-config.jam”的任何说明
(对于这些一次性构建,您所需的一切似乎都可以在 b2 命令行上传递。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)