【问题标题】:Can't build boost libraries in 32bit with 64bit gcc无法使用 64 位 gcc 在 32 位中构建 boost 库
【发布时间】:2014-04-10 12:09:18
【问题描述】:

我正在尝试在 64 位 linux 机器上以 32 位形式构建 Boost C++ 库。 运行 bootstrap.sh 后,我运行:

./b2 address-model=32

我得到的所有输出都是 g++ 输出的负载,表明编译已终止。 并且没有编译库的结果,全部跳过。 这对我来说非常令人沮丧,因为我找不到其他有同样问题的人。所有答案似乎都指向使用“address-model=32”选项,这对我来说根本不起作用。

如果我没有指定任何选项并运行:

./b2

然后一切顺利,构建成功。但是这会构建 64 位库吗?当我的目标是 32 位系统时,这不是我想要的。

我正在使用 Ubuntu 13.10 64 位并尝试构建 Boost 1.55.0。

感谢任何帮助。谢谢!

【问题讨论】:

  • 你能在命令行上使用g++ -m32 构建32位程序吗?您可能需要安装 gcc-multilib

标签: c++ linux gcc boost 32-bit


【解决方案1】:
  1. 设置自定义构建工具

    echo -e "using gcc : : g++ : root=/usr/local/ <compileflags>-m32 <linkflags>-m32 ;">tools/build/v2/user-config.jam

  2. 现在您可以使用 32 位程序构建它

    ./b2

【讨论】:

    猜你喜欢
    • 2010-12-01
    • 2013-07-12
    • 2012-11-26
    • 2013-10-23
    • 2011-10-18
    • 2010-11-24
    • 2013-11-14
    • 1970-01-01
    • 2022-01-13
    相关资源
    最近更新 更多