我尝试用最新版本的Mac OSX替换Mac Book Pro中随附的gcc 4.2.1编译器,但无法弄清楚我做错了什么:
从我的外壳刮下来的屏幕对我来说也没有意义:
Johans-MBP:bin johanlindfors $ gcc --version
配置为:--prefix = / Applications / Xcode.app / Contents / Developer / usr --with-gxx-include-dir = / Applications / Xcode.app / Contents / Developer / Platforms / MacOSX.platform / Developer / SDKs / MacOSX10.14.sdk / usr / include / c ++ / 4.2.1
Apple LLVM版本10.0.0(clang-1000.11.45.5)
目标:x86_64-apple-darwin18.2.0
螺纹型号:posix
InstalledDir:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Johans-MBP:bin johanlindfors $ 其中gcc
/ usr / local / bin / gcc
Johans-MBP:bin johanlindfors $ / usr / local / bin / gcc --version
gcc(Homebrew GCC 8.2.0)8.2.0
版权所有(C)2018自由软件基金会,Inc.
这是免费软件;请参阅复制条件的来源。没有
保证;甚至不是出于适销性或针对特定目的的适用性。
Johans-MBP:bin johanlindfors $
答案 0 :(得分:0)
这是因为它实际上是Apple Clang冒充的GCC。
答案 1 :(得分:0)
系统gcc-4.2.1编译器是从gcc迁移到clang编译器的(很旧的)遗产。永远不要将其用于您自己的代码。编辑您的.profile
或.tcshrc
,将较新的gcc目录添加到该路径之前。或节省大量时间和精力并使用MacPorts。
不幸的是,Clang在gcc-4.2.1上建立了“绝对”兼容性:请参阅:clang -E -dM - < /dev/null | grep GNU
这不是一件坏事。一旦编译器获得关注,它将提供其自己的扩展,而不再跟踪其他扩展。许多扩展与Intel的<x86intrin.h>
保持兼容。在扩展中提供太多差异并不是真正符合编译器的利益。
根据MacPorts,“稳定” gcc现在为8.2.0
。稳定的MacPorts叮当声(与OS X产生冲突)显然是7.0.0
...简短的故事-不要随意替换您认为可能可以正常工作的文件集。然后正确设置路径-IIRC,MacPorts将为您完成此操作。
我提供了最近的摘要:here。