在 OS X 上,我目前安装了几个版本的 gcc。每当我使用gcc -v
org++ -v
时,它都会告诉我:gcc version 4.2.1
. 不过,为了利用 C++11,我已经安装了 gcc 4.7。如何更改它以使 gcc/g++ 指向 4.7 而不是 4.2.1?
编辑:我有自制软件,而不是 macports。
我认为你可以做这样的事情。去/usr/bin
假设您已经在 Mavericks 中安装了gcc-4.7
using home brew。然后输入:
cd /usr/bin
sudo mv gcc gcc_mavs
sudo ln -s /usr/local/Cellar/gcc48/4.7.0/bin/gcc-4.7 gcc
在这个类型之后验证你是否选择了正确的 gcc 编译器。
gcc -v
如果我们不知道其他安装的完整路径,这是一个棘手的问题。.profile
但基本上你可以在本地用户设置中更改 $PATH 顺序。因此,假设您的 4.7 安装已安装,并且/usr/local/bin/
我们知道 Apple 默认版本已安装,然后按照$PATH 顺序/usr/bin/
编辑您的安装。.profile
/usr/local/bin/
/usr/bin/
默认应该是这样的:
导出 PATH=/usr/bin: /usr/local/bin :[etc, etc, etc]
调整后应该是这样的:
导出 PATH= /usr/local/bin :/usr/bin:[etc, etc, etc]
有一种方法可以强制所有用户在系统范围内进行这种更改,但我不建议这样做。不要乱用 Apple 实现 *nix 环境的更深层次(通常是非标准)的方式。将其保留在您的用户本地。
编辑: 查看此处的讨论,看看提供的任何解决方案是否可以帮助您。gcc_select
通过 MacPorts安装似乎是最干净的解决方案。
我在网上找到了一个很好的教程。虽然它有点旧(描述了 gcc 3.2 的过程),但仍然可以使用相同的通用方法 http://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/install_gcc.html