8

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

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

4

2 回答 2

6

要指定要编译的架构,请architecture在调用 b2 时指定功能。

要指定尚无内置功能的编译器选项,请cxxflags在调用 b2 时指定该功能。

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

所有这些都列在Boost.Build 文档中。

于 2011-08-04T18:34:30.297 回答
3

据我了解,如果我正确阅读了文档,构建特定 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

希望有帮助。

问候,

-RMW混沌

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

于 2012-09-13T14:12:25.567 回答