一、在Ubuntu20.04上安装GCC
默认的Ubuntu软件源包含了一个软件包组,名称为“build-essential”,它包含了GNU编辑器集合,GNU调试器,和其他编译软件所必需的开发库和工具。
想要安装开发工具软件包linux公社,以拥有sudo权限用户身分或则root身分运行下边的命令:
sudo apt update
sudo apt install build-essential
这个命令将会安装一系列软件包,包括gcc,g++,和make。
你可能还想安装关于怎么使用GNU/Linux开发的指南。
sudo apt-get install manpages-dev
通过运行下边的命令,复印GCC版本,来验证GCC编译器是否被成功地安装。
gcc --version
在Ubuntu20.04软件源中GCC的默认可用版本号为9.4.0:
$ gcc --version
gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0
Copyright (C) 2019 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.
GCC早已在你的Ubuntu系统上安装好了,你可以开始使用它了。
二、在Ubuntu20.04上安装GCC7.5
有时侯由于Ubuntu20.04的gcc版本太高造成不兼容如何安装LINUX,须要将gcc将低到7.5版本。
安装步骤:
输入下边的命令ubuntu中怎么安装gcc,安装想要的GCC和G++:
sudo apt install gcc-7 g++-7
下边的命令配置每一个版本,但是设置了优先级。默认的版本是拥有最高优先级的那种,在我们的场景中是gcc-7。
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9 --slave /usr/bin/gcov gcov /usr/bin/gcov-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70 --slave /usr/bin/g++ g++ /usr/bin/g++-7 --slave /usr/bin/gcov gcov /usr/bin/gcov-7
之后,假如你想更改默认的版本,使用update-alternatives命令:
sudo update-alternatives --config gcc
该命令会展示一系列早已安装在你的Ubuntu系统上的GCC版本。输入你想设置为默认的GCC版本,但是按回车Enter。
输出:
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/gcc-9 90 auto mode
1 /usr/bin/gcc-7 70 manual mode
2 /usr/bin/gcc-9 90 manual mode
Press to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/bin/gcc-7 to provide /usr/bin/gcc (gcc) in manual mode
比如以上选择number:1,这个命令将会创建符号链接到指定版本的GCC和G++。
再度查看gcc版本ubuntu中怎么安装gcc,显示为7.5版本:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/7/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 7.5.0-6ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 7.5.0 (Ubuntu 7.5.0-6ubuntu2)