自制程序找不到gcc

自制程序找不到gcc,gcc,homebrew,Gcc,Homebrew,我很难让自制软件在Lion上运行。出于某种原因,它正在拾取叮当声而不是gcc ==> Upgrading gnutls ... checking for gcc... /usr/bin/clang checking whether the C compiler works... no “brew博士”说: We couldn't detect gcc 4.2.x. Some formulae require this compiler. NOTE: Versions of XCode n

我很难让自制软件在Lion上运行。出于某种原因,它正在拾取叮当声而不是gcc

==> Upgrading gnutls
...
checking for gcc...
/usr/bin/clang checking whether the C compiler works... no
“brew博士”说:

We couldn't detect gcc 4.2.x. Some formulae require this compiler. NOTE: Versions of XCode newer than 4.2 don't include gcc 4.2.x.
注意:我已经从XCode安装了命令行工具,包括gcc

$ which gcc
/usr/bin/gcc
$ gcc -v
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00)

如何强制brew使用gcc?

在Xcode 4.2之后,苹果停止使用Xcode分发gcc。相反,它们分发llvm gcc(和clang),它们不是gcc。您可以在gcc-v中看到这一点,就像您看到的那样:它显示
llvmbuild

为了使用gcc,您必须自己编译它。这有一个自制公式,但您必须使用
brew点击自制/复制
,点击自制/复制

请注意,到目前为止,如果使用clang编译,gcc公式不起作用。您必须使用
brew安装来安装它——使用llvm gcc


还请注意,Homebrew明确搜索gcc-4.2。您必须为Homebrew创建一个符号链接才能找到gcc。

如果您让Yosemite观看此视频,它将在您安装Homebrew时从命令提示符提示您输入XCode


我不确定这是什么时候改变的,但Apple命令行工具现在包括gcc和clang可执行文件:

$ which gcc
/usr/bin/gcc

$ gcc -v
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 11.0.0 (clang-1100.0.33.17)
Target: x86_64-apple-darwin19.3.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

$ which clang
/usr/bin/clang

$ clang -v
Apple clang version 11.0.0 (clang-1100.0.33.17)
Target: x86_64-apple-darwin19.3.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
您可以通过运行以下命令来获取:

$ xcode-select --install

谢谢你提供的信息。我尝试了“brew tap”,但我的brew版本对于这个新功能来说太旧了,而“brew升级”是我在最初的问题中遇到错误的原因,所以我被卡住了。我最终解决了问题,卸载了brew(请参阅),然后重新安装(请参阅)。在重新安装之前,我还必须执行一些额外的步骤,因为我不明智地将brew安装为root用户,例如“sudo rm/usr/local/.git”。最后,我不需要新的gcc。@ishmael这就是
brew update
(自制)和
brew upgrade
(公式)之间的区别。对我来说,--use llvm在进行引导时会出错<代码>brew安装--使用gcc gcc48对我来说很有用。