我正在运行通过 MacPorts 获得的 GCC 4.7.2 的 Mac OS X 10.8.2 工作站上构建。x86_64
我可以使用此设置构建 64 位 ( ) 应用程序。
我正在尝试通过添加-arch i386
到编译标志来从源代码构建一个 32 位二进制文件。我想在 10.5 和 10.6 上添加对 32 位客户端的支持。
我收到以下错误消息(其中包括),这些消息似乎与缺少 32 位库有关:
ld: warning: ignoring file /opt/local/lib/gcc47/libgcc_ext.10.5.dylib, missing required architecture i386 in file /opt/local/lib/gcc47/libgcc_ext.10.5.dylib (1 slices)
ld: warning: ignoring file /opt/local/lib/gcc47/gcc/x86_64-apple-darwin12/4.7.2/libgcc.a, file was built for archive which is not the architecture being linked (i386): /opt/local/lib/gcc47/gcc/x86_64-apple-darwin12/4.7.2/libgcc.a
我的问题是:
我应该为此使用不同的标志,而不是
-arch i386
?或者,我在哪里可以获得(或如何编译)
i386
我需要安装的库以获得 32 位支持?
(我可以i386
通过下载 GCC 4.7.2 源代码来编译架构库吗?我应该在./configure
语句中添加一组特定的选项来启用它吗?)
一旦安装了这些库,我当前的 gcc 安装如何“知道”这些库将在哪里找到?
我可以通过 Xcode 4.5.2 添加什么吗?我已经在命令行上执行此操作,但我只能将“命令行工具”和 iOS 模拟器视为“首选项”小程序中的下载选项。