在Homebrew中安装了gcc,现在如何使用该gcc而不是clang?


23

我安装了gcc brew install gcc,但键入时gcc仍使用默认行为clang。如何设置内容,以便gcc在终端中键入内容自动使用gccHomebrew安装的内容?


1
我已经解决了这个问题,为我工作的是下面的链接。Mark Setchell的回答是此问题的最佳选择。stackoverflow.com/questions/28970935/…–
user1896293

Answers:


16

您可能需要检查$ PATH变量。在gcc从自制应该位于/usr/local/bin这应该是的Xcode的版本之前gcc/ clang

如果您更改PATH变量-请确保注销Shell或适当地重新哈希外壳

这个答案也提供了一个很好的使用别名的解决方案-因此,如果您安装了多个别名,则甚至不必考虑或关心路径gcc


将Homebrew gcc放在$ PATH变量中比Xcode版本更早的位置是否足以保证将引用homebrew gcc?我不确定$ PATH中的双重定义如何工作。
NeutronStar '16

2
路径取决于顺序。将/ usr / local放在/ usr前面是重写默认应用程序的标准方法。我见过人们在前面加上〜/ bin。
安德鲁·拉撒路

2
家酿不把gcc/usr/local/bin。这是出于兼容性的考虑,因为所有内容都将gcc代替系统clang编译器(也称为gcc)使用。它在做的过程是把一个版本的链接/usr/local/bin,例如gcc-8
杰森


1

如果which gcc给你

> which gcc
/usr/bin/gcc

您有两种选择:

  1. 创建一个别名

  2. gcc在下创建一个新的符号链接/usr/local/bin/。自制链接拥有自己的gcc,以/usr/local/bin/gcc-<version>保持兼容性。所以,做

    ln -sf /usr/local/bin/gcc-4.9 / usr / local / bin / gcc

会指向由Homebrew安装的/usr/local/bin/gcc符号链接,如果PATH 在之前指定的话gcc-4.9,它应该覆盖gccfrom 。/usr/bin/usr/local/bin/usr/bin

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.