这已经困扰我一段时间了。我正在尝试编译一个巨大的 C++ 文件(我知道它可以在我的 Arch Linux 计算机上正常工作)。当我在我的 Mac 上检查我的 GCC 版本时,它返回以下内容
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.1.0
Thread model: posix
我还使用 Homebrew 安装了最新的 GCC 版本
brew install gcc49
我现在的问题是如何将新安装的 GCC 版本应用为终端使用的默认版本?
我还知道,当您使用 Homebrew 软件安装 gcc 时,它会将其命名为 gcc-49,这样包之间就不会混淆。
我不知道如何用我安装的 4.9 版本替换 XCode 附带的 4.2.1 版本。
谢谢
编辑: 切换到我的mac获取gcc --version的完整return语句
编辑 2: 我在这里的最终目的是能够导航到目录并能够输入
make
sudo make install
安装已创建的守护程序。现在,随机包和标准库会返回大量错误
最佳答案
默认情况下,homebrew
将其安装的软件包的可执行文件(二进制文件)放置在 /usr/local/bin
中 - 对于由考虑到本地用户 - 与包含属于核心操作系统的标准二进制文件的 /bin
相比。因此,您的 brew
命令应该已将 gcc-4.9
安装到 /usr/local/bin
中。现在的问题是如何使用它……您有多种选择。
选项 1
如果你今天和明天只想编译一两件事,然后可能不再使用编译器,你不妨调用 homebrew
安装的 gcc
> 完整路径如下:
/usr/local/bin/gcc-4.9 --version
选项 2
如果您要经常使用 gcc
,每次显式输入完整路径会有点烦人,因此您可以将以下内容放入您的 ~/.bash_profile
export PATH=/usr/local/bin:$PATH
然后启动一个新终端,它会知道它需要在 /usr/local/bin
中查找,因此您只需键入即可逃脱
gcc-4.9 --version
选项 3
如果你只是想使用gcc
来调用编译器,而不用担心实际版本,你可以做上面的选项2,另外创建一个像这样的符号链接(symbolic link)
cd /usr/local/bin
ln -s gcc-4.9 gcc
这将允许您通过简单地在命令行键入 gcc
来运行安装了 homebrew
的 gcc
,就像这样
gcc --version
注意:
如果你以后想安装,比如 gcc-4.13
或类似的,你可以像以前一样执行 brew install
,然后像这样更改符号链接(symbolic link):
cd /usr/local/bin
rm gcc # remove old link from gcc to gcc-4.9
ln -s gcc-4.13 gcc # make new link from gcc to gcc-4.13
请注意,如果您实际使用的是 C++
而不是 C
,则需要将上述内容调整为 g++
代替 gcc
.
https://stackoverflow.com/questions/28970935/