c++ - 无法使用 64 位 gcc 在 32 位中构建 boost 库

标签 c++ linux gcc boost 32-bit

我正在尝试在 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。

感谢任何帮助。谢谢!

最佳答案

  1. 设置自定义构建工具

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

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

    ./b2

关于c++ - 无法使用 64 位 gcc 在 32 位中构建 boost 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22248500/

相关文章:

c++ - 需要在 tchar.h 错误后包含 strsafe.h

c++ - 使用欧几里德算法求 GCF(GCD)

c++ - 在 Windows 中,如何拥有作为重定向管道的非阻塞标准输入?

Linux 上的 .NET,~/文件夹错误?

c - 使用 union/struct 成员作为 gcc 内联 asm 参数

C++ POSIX(或特定于 Linux)和 WIN32 要求人为更改文件的创建日期

c - pthread执行时间?如何计算?

linux - Bash - 在多个目录中添加符号链接(symbolic link)

编译 mathgl C 示例

c - Ubuntu 20.04 之后可以使用 addr2line 吗?