无法在Mac上升级gcc

时间:2012-05-14 23:28:46

标签: macos gcc qt-creator

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

  

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

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

  

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

     

这个包装器只有像-Xarch_x86_64那样的Mac-only参数   转换成正确的args。

似乎它可能会击中头部的钉子。 Aaargh!肯定有办法解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

我创建了一个自定义的makepec - 在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中,它就可以了。

为简单的事情付出很多努力......我们希望知道更好的方法。

答案 1 :(得分:1)

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

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

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

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