Nic*_*hov 156 gcc software-installation
我想用最新版本的gcc
.
Ubuntu 14.04 带有 gcc 4.8.2,但是有 4.9.0 可用,而且,我看到它可以作为一个包使用:gcc-4.9
. 我尝试安装它
sudo apt-get install gcc-4.9
Run Code Online (Sandbox Code Playgroud)
但它说
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'gcc-4.9-base' for regex 'gcc-4.9'
gcc-4.9-base is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Run Code Online (Sandbox Code Playgroud)
看起来它已经安装了,只是不是默认的?我如何利用它来构建我的程序?
Sud*_*oot 216
正确安装 gcc-4.9 并将其设置为默认 gcc 版本的最佳方法是:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9 g++-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9
Run Code Online (Sandbox Code Playgroud)
在--slave
与g++
,会导致g++
沿被切换gcc
,以相同的版本。但是,此时 gcc-4.9 将是您在 中配置的唯一版本update-alternatives
,因此将 4.8 添加到update-alternatives
,因此实际上有一个替代方案,通过使用:
sudo apt-get install gcc-4.8 g++-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8
Run Code Online (Sandbox Code Playgroud)
然后您可以检查设置了哪一个,并使用以下方法来回更改:
sudo update-alternatives --config gcc
Run Code Online (Sandbox Code Playgroud)
注意:您可以跳过安装 PPA 存储库而直接使用,/usr/bin/gcc-4.9-base
但我更喜欢使用全新更新的工具链。
对于 GCC 5.X 或 6,包(以及相应的命令)只是调用gcc-5
、gcc-6
等。这是由于GCC 的版本方案发生了变化,其中 5.1 是第一个 GCC 5 版本,以及未来的 5.X 版本用于错误修复。
mur*_*uru 24
使用工具链测试构建 PPA:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9
Run Code Online (Sandbox Code Playgroud)
我认为 GCC 4.9 还不能完全用于 Ubuntu 14.04。基础包 ( gcc-4.9-base ) 和 GCC Go 4.9 编译器 ( gccgo-4.9 ) 可用,但其他前端不可用。我不知道为什么。
Cir*_*郝海东 17
Ultimate Mega Master 兼容性表
好的,让我们这样做:
GCC clang
+-------------------+--------------------+
| 11 10 9 8 7 6 5 4 | 12 11 10 9 8 7 6 5 |
+-------+-------------------+--------------------+
| 21.04 | M D M M M | D M M M |
| 20.10 | D M M M | D M M M M M |
| 20.04 | P D M M | D M M M M |
| 19.10 | D M M | |
| 19.04 | M D M M | |
| 18.10 | D M M M | |
| 18.04 | P P M D M M | M M M D M |
| 16.04 | P P P P D M | |
+-------+-------------------+--------------------+
Run Code Online (Sandbox Code Playgroud)
D : 默认 GCC
sudo apt-get update
sudo apt-get install gcc g++
gcc --version
Run Code Online (Sandbox Code Playgroud)
无论gcc
包别名为:https : //packages.ubuntu.com/search? keywords =gcc并且也出现在清单中:如何列出默认安装的包?
M : 出现在主仓库中
sudo apt-get update
sudo apt-get install gcc-X g++-X
gcc-X --version
Run Code Online (Sandbox Code Playgroud)
对给定 GCC 版本有影响的所有 Ubuntu 版本,例如 GCC 7:https : //packages.ubuntu.com/search ? keywords = gcc-7或 clang 7 https://packages.ubuntu.com/search?关键字=clang-7
这些软件包的次要版本会不时更新,例如 8.3.0 到 8.4.0。
P : ppa:ubuntu-toolchain-r/test
,它归 Ubuntu 人所有,因此可以相信它不是病毒,尽管它可能不稳定:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-X g++-X
gcc-X --version
Run Code Online (Sandbox Code Playgroud)
完整列表:https : //launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test
这些软件包的次要版本会不时更新,例如 8.3.0 到 8.4.0。
所有问题:
如何将非默认 GCC 设置为默认值?
例如,您安装了/usr/bin/gcc-7
但您想使用它而不是/usr/bin/gcc
在运行gcc main.c
.
sudo update-alternatives
如其他答案中所述使用:https : //askubuntu.com/a/581497/52975它为您创建所需的符号链接。
另请参阅:`update-alternatives` 究竟做了什么?
如何从源代码构建自己的工具链
如果即使 PPA 对您来说还不够旧/新,请参阅:
较旧的 GCC 版本问题
您已经可以从默认存储库在 Ubuntu 18.04 中安装 gcc 7.0。要在 Ubuntu 17.10、18.04 和 18.10 中安装 gcc-7,请打开终端并键入:
sudo apt install gcc-7
Run Code Online (Sandbox Code Playgroud)
要在 Ubuntu 18.04 及更高版本中安装 gcc-8,请打开终端并键入:
sudo apt install gcc-8
Run Code Online (Sandbox Code Playgroud)
要在 Ubuntu 19.04 及更高版本中安装 gcc-9,请打开终端并键入:
sudo apt install gcc-9
Run Code Online (Sandbox Code Playgroud)
您可以从 ppa:jonathonf/gcc-7.1 在 Ubuntu 16.04 中安装 gcc-7。
sudo add-apt-repository ppa:jonathonf/gcc-7.1
sudo apt update
sudo apt install gcc-7
Run Code Online (Sandbox Code Playgroud)
您可以从 ppa:jonathonf/gcc-8.0 在 Ubuntu 16.04 中安装 gcc-8。
sudo add-apt-repository ppa:jonathonf/gcc-8.0
sudo apt update
sudo apt install gcc-8
Run Code Online (Sandbox Code Playgroud)
可以同时安装多个版本的 gcc。您可以使用update-alternatives
命令来更改默认的 gcc 版本,以确定通用名称引用了哪个实际文件,例如gcc
. 有关更多信息,请参阅此问题的答案:如何更改 Ubuntu 中的默认 GCC 编译器?.
归档时间: |
|
查看次数: |
339279 次 |
最近记录: |