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

发布于 2024-11-28 02:14:39 字数 213 浏览 3 评论 0原文

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

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

So I know that the boost libraries are primarily header-only but there are a few which require compilation, for example Boost.Thread. In Darwin, how do I compile these and pass the -m32 flag so they can be compiled into a 32-bit (i386) binary? There's this Jamroot thing which I've never heard of and I am not sure at all where to start.

Clarification: I'm not asking how to compile a program with -m32 flag and use the boost libraries. I'm asking how to compile the Boost libraries themselves with the -m32 flag.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

凉月流沐 2024-12-05 02:14:39

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

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

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

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

To specify what architecture to compile for, specify the architecture feature when invoking b2.

To specify compiler options that don't already have built-in features, specify the cxxflags feature when invoking b2.

To specify linker options that don't already have built-in features, specify the linkflags feature when invoking b2.

All of these are listed in the Boost.Build docs.

屋顶上的小猫咪 2024-12-05 02:14:39

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

希望有帮助。

问候,

-RMWCaos

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

From what I understand, and if I read the documentation correctly, the way to build a particular architecture of boost is with the "address-model=xx" option for b2.

EXAMPLES:

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

or

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

Hope that helps.

Regards,

-RMWChaos

EDIT: Found another SO Thread providing the same answer here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文