所以这是在为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,
似乎它可能会击中头部的钉子。 Aaargh!肯定有办法解决这个问题吗?问题是通常用于编译东西的GCC / G ++ 在Mac上实际上只是一个包装器。
这个包装器只有像-Xarch_x86_64那样的Mac-only参数 转换成正确的args。
答案 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保持同步,稳定性比前沿更重要。