C++ 向需要编译的boost库(如线程)传递编译器标志

C++ 向需要编译的boost库(如线程)传递编译器标志,c++,macos,boost,darwin,C++,Macos,Boost,Darwin,所以我知道boost库主要是头文件库,但也有一些需要编译,例如boost.Thread。在达尔文,我如何编译它们并传递-m32标志,以便将它们编译成32位(i386)二进制文件?有一个Jamroot的东西,我从来没有听说过,我不知道从哪里开始 澄清:我不是问如何编译带有-m32标志的程序并使用boost库。我在问如何使用-m32标志编译Boost库本身。要指定编译的体系结构,请在调用b2时指定体系结构功能 要指定尚未具有内置功能的编译器选项,请在调用b2时指定cxxflags功能 要指定尚未具有

所以我知道boost库主要是头文件库,但也有一些需要编译,例如boost.Thread。在达尔文,我如何编译它们并传递-m32标志,以便将它们编译成32位(i386)二进制文件?有一个Jamroot的东西,我从来没有听说过,我不知道从哪里开始


澄清:我不是问如何编译带有-m32标志的程序并使用boost库。我在问如何使用-m32标志编译Boost库本身。

要指定编译的体系结构,请在调用b2时指定
体系结构
功能

要指定尚未具有内置功能的编译器选项,请在调用b2时指定
cxxflags
功能

要指定尚未具有内置功能的链接器选项,请在调用b2时指定
linkflags
功能


根据我的理解,所有这些都列在中。

如果我正确阅读了文档,构建boost特定体系结构的方法是使用b2的“address model=xx”选项

示例:

b2 install toolSET=msvc-9.0 link=shared variant=release address-model=64

希望有帮助

问候,

-RMWChaos


编辑:发现另一个SO线程提供了相同的答案。

-1因为没有阅读正式的介绍性文档,对不起。@ArunMu,是的,我知道,我已经看到了该页面。它没有回答我的问题。有几个标志可以传递给b2,但它们都不允许您更改体系结构。我试着查看Jamroot文件,但我看不到任何地方可以指定这样的编译器标志。@phresnel如果你说的是ArunMu发布的文档,那绝对不能回答我的问题。那么,你读过任何文档吗?比如如何设置编译boost的配置参数?你已经看过Jam文档了吗?你有没有看过别人是否已经为你做了这项工作?如果您阅读了一些文档,您就会知道Jamroot对应于boost构建系统。请注意,向下投票按钮明确表示“不显示任何研究成果”,这正是此处的情况:您的问题中不显示任何研究成果,抱歉。谢谢。事实上,我最终发现b2和bjam是同一件事,在这里真的很有帮助——我用diff来证实这一点。为什么有两个相同版本的可执行文件,其中一个几乎完全没有文档记录(b2)?那对我来说毫无意义。官方文档对我来说真的很难解析——这更有意义:。也感谢您的帮助。@eeeeaaii:“b2”是“bjam”的新官方名称。也就是说,它们是同一个,但名称“bjam”现在已过时。
b2 install toolSET=msvc-9.0 link=shared variant=release address-model=32