【问题标题】:Macports OSX 10.9.2: is -m32 compile possible?Macports OSX 10.9.2:-m32 可以编译吗?
【发布时间】:2014-04-17 10:36:29
【问题描述】:

我有一个旧工具需要在 Mac OSX 10.9.2 上重新编译,但该工具是在 32 位假设下编写的(不是由我编写的),如果不重写,纯 64 位编译将无法工作。

是否可以使用 Macports gcc (4.3) 和 -m32 标志? 32 位二进制文​​件会在 Mac OSX 10.9.2 的 64 位内核上运行吗?

我尝试将选项与一个简单的 helloworld.c 文件一起使用,但出现错误,但在网上没有找到解释:

%> gcc-mp-4.3 -m32 hello.c
ld: warning: ld: warning: ignoring file /opt/local/lib/gcc43/libgcc_s.10.5.dylib, missing required architecture i386 in file /opt/local/lib/gcc43/libgcc_s.10.5.dylib (1 slices)
ignoring file /opt/local/lib/gcc43/gcc/x86_64-apple-darwin13/4.3.6/libgcc.a, file was built for archive which is not the architecture being linked (i386): /opt/local/lib/gcc43/gcc/x86_64-apple-darwin13/4.3.6/libgcc.a

注意:原生 Xcode gcc 与源代码不兼容,因为 Xcode gcc 是基于 clang 的。

【问题讨论】:

标签: macos macports


【解决方案1】:

http://trac.macports.org/ticket/27925 的页面描述了如何安装支持 32 位和 64 位(又名通用)的编译器。

将“universal_archs x86_64 i386”添加到 macports.conf 并使用“sudo port upgrade --enforce-variants gcc43 +universal”更新已安装的端口,它将重新安装编译器并在 x64 之外构建 i386 库图书馆。

【讨论】:

    【解决方案2】:

    安装GCC的通用端口。

    【讨论】:

      猜你喜欢
      • 2016-04-04
      • 2014-08-27
      • 1970-01-01
      • 2018-06-19
      • 1970-01-01
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多