如何将 gcc 5.3 更新到 6.1?

28 updates gcc software-installation

安装 Ubuntu 16.04 LTS 后,我发现它gcc 5.3是默认安装的,但我没有收到任何gcc. 我打开GCC 网站,发现了新版本 6.1。如何更新?

的输出gcc --version

gcc (Ubuntu 5.3.1-14ubuntu2.1) 5.3.1 20160413
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Run Code Online (Sandbox Code Playgroud)

edw*_*ksl 34

您可以通过添加ubuntu-toolchain-r/testPPA来安装 GCC 6 。为此,请运行以下命令:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-6
Run Code Online (Sandbox Code Playgroud)

您可以gcc-6通过运行来验证是否已安装gcc-6 --version并且输出应显示gcc-6 (Ubuntu 6.1.1-2ubuntu12~16.04) 6.1.1 20160510.

正如 Mohamed Slama 所建议的,如果您想进一步将默认 GCC 和 G++ 更改为最新版本,请安装 g++-6

sudo apt install g++-6
Run Code Online (Sandbox Code Playgroud)

然后运行

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6    
Run Code Online (Sandbox Code Playgroud)

  • `60` 在这里做什么? (3认同)

小智 7

如果你想从源代码构建它(我推荐你可以例如制作交叉编译器等)从镜像下载源代码

然后使用以下命令提取它:

tar -xvf gcc-6.1.0.tar.gz
Run Code Online (Sandbox Code Playgroud)

之后将目录更改为:

cd gcc-6.1.0
Run Code Online (Sandbox Code Playgroud)

然后创建build目录和cd它:

mkdir build
cd build
Run Code Online (Sandbox Code Playgroud)

然后配置makefile(--disable-multilib意思是不构建用于交叉编译的库):

../configure --enable-languages=c,c++ --disable-multilib
Run Code Online (Sandbox Code Playgroud)

如果由于缺少必需的库或其他先决条件而遇到错误:(对此的信用)

./contrib/download_prerequisites
Run Code Online (Sandbox Code Playgroud)

然后构建它:

make -j 8
Run Code Online (Sandbox Code Playgroud)

此过程可能需要一些时间,完成后调用:

sudo make install
Run Code Online (Sandbox Code Playgroud)

就是这样!