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

C++ 在AMD64(Ubuntu 11.10)上将boost编译为i386,c++,boost,x86-64,i386,cross-compiling,C++,Boost,X86 64,I386,Cross Compiling,我目前正在编写一个程序的扩展,它只支持 i386(我正在运行amd64 Ubuntu 11.10)。每当我编译扩展源代码时 我需要使用-m32标志强制32位体系结构(否则程序将无法加载我的扩展)。迟早难免要避免刺激 多亏了它庞大而稳定的库,这就导致了我的问题 我想使用boost文件系统,它使用特定于操作系统的函数调用,这反过来导致需要库文件,而不仅仅是头实现。问题是,;我不知道如何在我的amd64机器上设置boost文件系统(i386版本)。如果我下载了i386的预构建(.deb)包,并使用-f

我目前正在编写一个程序的扩展,它只支持 i386(我正在运行amd64 Ubuntu 11.10)。每当我编译扩展源代码时 我需要使用-m32标志强制32位体系结构(否则程序将无法加载我的扩展)。迟早难免要避免刺激 多亏了它庞大而稳定的库,这就导致了我的问题

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


基本上如此;如何在我的(amd64)系统上设置32位(i386)体系结构的boost?

似乎我一直都做得不错,但我太笨了,没有意识到如何将库与来自Windows环境的GCC链接器正确链接。通过使用
-m32
标志并正确设置bjam,您可以轻松编译boost库。有关详细信息,请参见此问题的第一个答案:

看起来我一直都做得不错,但我太笨了,没有意识到如何将库与来自Windows环境的GCC链接器正确链接。通过使用
-m32
标志并正确设置bjam,您可以轻松编译boost库。有关详细信息,请参见此问题的第一个答案:

是的,我已经考虑过了,但如果可能的话,我更愿意坚持使用当前的操作系统,因为它的开销更小,如果这是我唯一的选择,我可能会避免boost…请看:是的,我已经考虑过了,但如果可能的话,我更愿意坚持使用当前的操作系统,因为它的开销更小,如果这是我唯一的选择,我可能会避免使用boost…请看: