我刚刚安装了 Lubuntu 18.04 LTS。安装 gcc 有两个选项:gcc-7
和gcc-8
。两者都是apt-get install
开箱即用的。
即使我安装之后,当我安装其他软件包(如)时,gcc-8
系统仍然会安装。gcc-7
build-essential
由于gcc-8
比较新,有没有办法让它只安装gcc-8
一次gcc-8
?
答案1
gcc-7
并gcc-8
愉快地共同生活。
我建议让它gcc-7
安装,以满足build-essential
可能的其他依赖包,并配置gcc-8
为您的默认 gcc 安装。
使用update-alternatives
已gcc
自动重定向至gcc-8
:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 700 --slave /usr/bin/g++ g++ /usr/bin/g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8
这将为您提供最新版本的 gcc 的便利,并且您仍然可以直接调用gcc-7
或。gcc-8
如果你希望稍后更改默认的 gcc 版本,请运行sudo update-alternatives --config gcc
。它将出现类似这样的提示,让你选择要使用的版本:
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/gcc-8 800 auto mode
1 /usr/bin/gcc-7 700 manual mode
2 /usr/bin/gcc-8 800 manual mode
Press <enter> to keep the current choice[*], or type selection number:
较高优先级是由 自动选取的update-alternatives
。
答案2
每个 Ubuntu 的所有 GCC 版本的主表
Ubuntu 16.04 上的 GCC 8
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-8 g++-8
gcc-8 --version
截至 2018-11,版本号为 8.1.0。另请参阅:
Ubuntu 19.04 上的 GCC 9
sudo apt install gcc-9
答案3
前往下载未版本化gcc 软件包(cpp
/ gcc
/ g++
/ g++multilib
/等)版本为 8,然后使用 安装它们。请确保首先安装了带后缀的dpkg -i *.deb
相应软件包。-8
http://deb.debian.org/debian/pool/main/g/gcc-defaults/
原因:
build-essential 和许多其他软件包都依赖于未版本化软件包(软件包名称中没有版本号),例如gcc
、g++
等,以及那些未版本化软件包依赖版本化包(包名包含版本作为后缀),例如分别为gcc-X
、g++-X
。
A未版本化软件包gcc
的软件包版本8.~
依赖于gcc-8
,而gcc
Ubuntu 18.04 官方存储库中的软件包附带软件包版本7.~
,而该版本又依赖于gcc-7
。
那些未版本化gcc 软件包不安装任何内容,仅作为对版本化
gcc软件包。未版本化Debian 10(代号 buster)中的软件包已使用 进行版本控制8.~
。您可以安全地手动安装它们以及依赖的版本化软件包仍然来自您的官方 ubuntu 存储库,因此这样做完全安全。