【问题标题】:Compiling boost as i386 on AMD64 (Ubuntu 11.10)在 AMD64 (Ubuntu 11.10) 上将 boost 编译为 i386
【发布时间】:2012-05-05 11:57:57
【问题描述】:

我目前正在编写一个程序的扩展,它只支持 i386(我正在运行 amd64 Ubuntu 11.10)。每当我编译我的扩展源 我需要使用 -m32 标志来强制使用 32 位架构(否则程序将无法加载我的扩展)。迟早要避免提振 感谢它庞大而稳定的库,这导致了我的问题。

我想使用 boost 文件系统,它使用操作系统特定的函数调用,这反过来又导致需要一个库文件,而不仅仅是一个头文件实现。问题是;我不能/不知道如何在我的 amd64 机器上设置 boost 文件系统(i386 版本)。如果我为 i386 下载预构建 (.deb) 包并使用 -force-architecture 安装它,它仍然无法抱怨依赖关系。

基本上是这样;如何在我的 (amd64) 系统上设置 32 位 (i386) 架构的 boost?

【问题讨论】:

  • 是的,我已经考虑过了,但如果可能的话,我宁愿坚持使用我当前的操作系统,因为它的开销较小,如果这是我唯一的选择,我可能会避免提升......

标签: c++ boost x86-64 i386 cross-compiling


【解决方案1】:

似乎我一直都做对了,但我太笨了,无法意识到如何将库与来自 Windows 环境的 GCC 链接器正确链接。您可以使用-m32 标志和正确设置bjam 轻松编译boost 库。详情见本题第一个答案:How do I force a 32 bit build of boost with gcc?

【讨论】:

    猜你喜欢
    • 2014-08-23
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-23
    • 1970-01-01
    相关资源
    最近更新 更多