如何构建支持 C++0x 的 Boost?
我不知道如何使用 C++0x 编译器构建 Boost。必须给 bjam 提供哪个选项?应该修改 user.config 文件吗?有人可以帮助我吗?
最好的, 维森特
I don't know how to build Boost with C++0x compilers. Which option must be given to bjam? Should the user.config file be modified?Can someone help me?
Best,
Vicente
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我已经找到答案了。我正在等待类似“std”的功能,并按如下方式调用它:
但目前我们需要使用低级变量 cxxflags 并添加特定的编译器标志。例如,对于 gcc,我们可以做
其他编译器将需要不同的设置。
等待新的 Boost.Build 功能,您还可以定义自己的工具集,如下所示: 添加 user.config 或 site.config 文件
现在调用为
I have found the answer. I was waiting for a features something like 'std' and call it as follows:
but currently we need to use the low level variables cxxflags and add the specific compiler flags. For example for gcc we can do
Other compilers will need a different setting.
Waiting for a new Boost.Build feature, you can also define your own toolset as follows: Add the user.config or site.config file
And now call as
要使用 clang 进行编译,请使用
cxxflags
和linkflags
:将
-v
传递给cxxflags
在调试时也很有帮助。To compile using clang, use the
cxxflags
andlinkflags
:Passing a
-v
tocxxflags
is also helpful when debugging.使用类似这样的内容:
-j12 用于并行(12 个线程)构建
请使用
-std=c++11
以获得更好的兼容性,并使用-std=gnu++11
进行 gnu 扩展(仅适用于 gcc)如果未构建 boost::mpi, (参见上述命令的输出)-> 请编辑 user-config.jam
如果您只想构建某些组件, :
添加:
例如
,这是来自 travis 的 framework 的改编脚本(调整
ROOT_PATH):
安装到
/usr/local
中。Use something like this:
The -j12 is for parallel (12 threads) build
use
-std=c++11
for better compatibility and-std=gnu++11
for the gnu extensions (only for gcc)if boost::mpi is not build (see the output of above command) -> edit the user-config.jam
if you want to build only certain components:
add:
for example
Here is an adapted script from my framework from travis (adjust
ROOT_PATH
):which installs into
/usr/local
.我发现了一篇使用 clang 编译 Boost 的文章: http://blog .llvm.org/2010/05/clang-builds-boost.html。或许可以将其中提出的使用 Boost.Jam 编译 Boost 的更改修改为您最喜欢的 C++0x 编译器。
I came across an article for compiling Boost using clang: http://blog.llvm.org/2010/05/clang-builds-boost.html. It might be possible to adapt the changes proposed there for compiling Boost using Boost.Jam to your favorite C++0x compiler.
此外,您还可以更改一个文件的编译标志 像这样:
exe test : test.cpp :-std=gnu++0x ;
Also, you can change compilation flags for one file like this:
exe test : test.cpp : <cxxflags>-std=gnu++0x ;