Hen*_*rik 8 c macos gcc clang osx-yosemite
我一直试图让Mac OSX Yosemite在调用cc时使用gcc而不是clang,但不管我做什么,它都拒绝玩.我已经尝试过更改我的bash_profile/bashrc甚至重新链接符号链接,但无济于事 - 每次调用"cc"时,它仍然会运行.我试图强迫它成为gcc(而不是,只是调用gcc不是一个选项).
我之前问了一个类似的问题(在Yosemite/disable clang上制作gcc默认的c编译器).
Ken*_*ses 11
OS X和Xcode都没有真正的GCC.为了兼容假定编译器被称为"gcc"的脚本,它具有该名称的可执行文件,但它们都是Clang的前端.没有任何符号链接,设置环境变量或设置别名将允许这些可执行文件运行真正的GCC.
如果你想要GCC,你需要安装它.您可以使用其中一个软件包管理器来完成此操作,例如MacPorts(我熟悉的那个).我相信你也可以使用Homebrew.
您不应该修改/ usr/bin中的任何内容.如果您已经这样做,则应尽可能恢复已更改的内容.
表现良好的包管理器也不会修改该目录.它们应安装到单独的目录,例如/ opt/local/bin,/ usr/local/bin等.在这种情况下,您需要修改您的文件,PATH使其早于/ usr/bin.
你不应该这样做.许多工具依赖于安装二进制文件来指出它们应该是什么.另一种选择是将环境变量设置CC为gcc,$CC ...而不是使用cc ...; 而是调用编译; 通过configure(autotools)或构建包时,也会拾取此环境变量cmake.
这也是与MacPorts版本的gcc(如更新的gcc-4.9.2)兼容的方法,可以设置: sudo port select --set gcc mp-gcc49