8

在 OS X 上,我目前安装了几个版本的 gcc。每当我使用gcc -vorg++ -v时,它都会告诉我:gcc version 4.2.1. 不过,为了利用 C++11,我已经安装了 gcc 4.7。如何更改它以使 gcc/g++ 指向 4.7 而不是 4.2.1?

编辑:我有自制软件,而不是 macports。

4

3 回答 3

7

我认为你可以做这样的事情。去/usr/bin

假设您已经在 Mavericks 中安装了gcc-4.7using 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

于 2014-02-10T00:15:56.307 回答
6

如果我们不知道其他安装的完整路径,这是一个棘手的问题。.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安装似乎是最干净的解决方案。

于 2013-01-26T06:48:21.683 回答
0

我在网上找到了一个很好的教程。虽然它有点旧(描述了 gcc 3.2 的过程),但仍然可以使用相同的通用方法 http://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/install_gcc.html

于 2013-09-06T03:39:43.997 回答