提问者:小点点

在AMD64 (Ubuntu 11.10)上将boost编译为i386


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

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

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


共1个答案

匿名用户

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