【发布时间】:2014-04-26 14:08:20
【问题描述】:
我正在运行 debian wheezy,想从 GCC 4.7.2 升级到 GCC 4.9.0。
根据these instructions,我安装了libgmp-dev、libmpfr-dev 和libmpc-dev(我的包管理器分别给了我版本 2:5.0.5+dfsg-2、3.1.0-5 和 0.9-4)和运行以下代码来编译 gcc(请注意,在我的情况下它是 4.9.0 而不是 4.6.2):
tar xzf gcc-4.6.2.tar.gz
cd gcc-4.6.2
./contrib/download_prerequisites
cd ..
mkdir objdir
cd objdir
$PWD/../gcc-4.6.2/configure --prefix=$HOME/gcc-4.6.2
make
make install
我现在有一个 objdir 目录,里面塞满了东西,但是 g++ 在哪里,我应该把这个目录放在哪里?
我猜我应该把它移到 usr/local 并添加一些东西到我的 PATH 变量中,但我不知道究竟是什么,以及如何确保在我的旧 gcc 安装之前搜索它。
【问题讨论】:
-
没有在您的主目录中显示包含二进制文件的
gcc-4.9.0目录? -
很多东西很有意思:1)为什么要在4.6.2目录下安装4.9.0? :-) 2. 为什么你使用 $PWD/../xyz 而不是 ../xyz ?您将在 $HOME/gcc
/bin/ 中找到可执行文件 -
@Klaus 所有这些都已经解释过了。我将它安装到 4.9.0,我真的不知道他们为什么使用
$PWD,但它工作正常。我能否以某种方式确保当我输入g++时它指向我的新安装而不是 debian 附带的 gcc? -
根据您的 shell(bash?),您可以编辑 ~/.bashrc 文件。在末尾添加一个新行:
export PATH=/<your home>/gcc-<your gcc version>/bin:$PATH。现在你启动一个新的 shell 并输入gcc --version。这应该是新的。 -
注:您只需要要么安装
libgmp-dev、libmpfr-dev和libmpc-dev软件包或运行contrib/download_prerequisites脚本。我认为 GCC wiki 页面清楚地说明了这一点:“或者,在提取 GCC 源存档后,只需在 GCC 源目录中运行./contrib/download_prerequisites脚本。”跨度>