将编译器标志传递给需要编译的boost库(如Thread)

passing compiler flags to boost libraries (such as Thread) which require compilation

本文关键字:boost Thread 编译 标志 编译器      更新时间:2023-10-16

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

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

要指定编译的体系结构,在调用b2时指定architecture特性。

要指定没有内置功能的编译器选项,在调用b2时指定cxxflags功能。

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

所有这些都在Boost中列出。建立文档。

根据我的理解,如果我正确阅读文档,构建boost的特定架构的方法是使用b2的"address-model=xx"选项。

例子:

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

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

希望对你有帮助。

问候,

-RMWChaos

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