1

我目前正在编写程序的扩展程序,该程序仅支持 i386(并且我正在运行 amd64 Ubuntu 11.10)。每当我编译我的扩展源时,我都需要使用 -m32 标志来强制使用 32 位架构(否则程序将无法加载我的扩展)。由于其庞大而稳定的库,迟早不可避免地会避免提升,这导致了我的问题。

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

所以基本上; 如何在我的 (amd64) 系统上使用 32 位 (i386) 架构设置提升?

4

1 回答 1

1

似乎我一直都做对了,但我太笨了,无法意识到如何将库与来自 Windows 环境的 GCC 链接器正确链接。-m32您可以通过使用标志和正确设置 bjam轻松编译 boost 库。有关详细信息,请参阅此问题中的第一个答案:如何使用 gcc 强制构建 32 位的 boost?

于 2012-06-26T21:27:01.850 回答