2

所以这是在为 Mac OS 10.7 降价 30 美元并下载 XCode 4.3.2 之后。安装命令行工具后,安装的gcc版本还是4.2.4。我需要4.7。我已经安装了它并设置了它的g++链接/usr/bin。但是当我尝试通过 QtCreator 编译任何程序时,我得到

无法识别的命令行选项-Xarch_x86_64

我在一个 3 年前的错误报告中发现了这一点,但我真的无法遵循所有不同的 shell 命令等,并且我尝试安装 liblastfm 失败并出现同样的错误。这里的评论,

问题是通常用于在 Mac 上编译东西的 GCC/G++ 实际上只是一个包装器。

并且这个包装器具有 Mac-Only 参数,例如 -Xarch_x86_64,然后将其转换为正确的参数。

似乎它可能会击中头上的钉子。啊!当然必须有某种方法来解决这个问题?

4

2 回答 2

2

我创建了一个自定义 makespec - 在 QtSDK/Desktop/Qt/4.8.1/gcc/mkspecs 中,我将 macx-g++ 文件夹复制到 macx-g++47。然后,我从中删除了“include(../common/g++macx.conf)”并包含了它的内容,除了生成错误的部分(即-X ...事物)。

我也完成了

QMAKE_CC         = gcc-mp-4.7
QMAKE_CXX        = g++-mp-4.7

QMAKE_LINK       = $$QMAKE_CXX
QMAKE_LINK_SHLIB = $$QMAKE_CXX
QMAKE_LINK_C       = $$QMAKE_CC
QMAKE_LINK_C_SHLIB = $$QMAKE_CC

...这类似于 macx-g++42 的规范。

现在,如果我将 '-spec macx-g++47' 添加到 qmake args,它就可以工作。

为简单的事情付出了很多努力……很想知道更好的方法。

于 2012-11-22T11:24:43.683 回答
1

OSX 的新 gcc 版本有几个来源。这是一个小选择:

http://hpc.sourceforge.net/(目前 gcc 4.8,以前的版本可能也可用)

http://gcc.gnu.org/wiki/GFortranBinaries(有 gcc 4.7.0 二进制安装程序)

我假设您确实从 Xcode 中安装了命令行工具。Apple/Xcode 并不总是与 gcc 保持同步,稳定性在这里比前沿更重要。

于 2012-05-15T01:42:54.100 回答