所以我安装了 gcc-4.4 和 gcc-4.3(g++ 相同)。现在据我所知,Ubuntu 中有一个工具可以为你设置符号链接,如果你只是告诉它你想要哪个版本。然而,它似乎在最新版本中不起作用,我觉得这很令人失望。
root@nexus:~# update-alternatives --config gcc
update-alternatives: error: no alternatives for gcc.
root@nexus:~# update-alternatives --config cc
There is only one alternative in link group cc: /usr/bin/gcc
Nothing to configure.
root@nexus:~# dpkg -l | grep gcc | awk '{print $2}'
gcc
gcc-4.3
gcc-4.3-base
gcc-4.3-multilib
gcc-4.4
gcc-4.4-base
gcc-4.4-multilib
gcc-4.5-base
gcc-multilib
lib32gcc1
libgcc1
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
如何安装最新版本的 gcc 和 g++?
我正在使用各种 C++11 和 C++1y 特性;这就是为什么我需要这个。
这个问题一直困扰着我!上次 4.9 我尝试了这个答案中提到的 g++4.9 命令。同样的技巧现在不起作用:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-5.1 g++-5.1
Run Code Online (Sandbox Code Playgroud)
结果是...
E: Unable to locate package gcc-5.1
E: Couldn't find any package by regex 'gcc-5.1'
E: Unable to locate package g++-5.1
E: Couldn't find any package by regex 'g++-5.1'
Run Code Online (Sandbox Code Playgroud)
在 Ubuntu 中直接安装最新的 g++ 的正确命令是什么?是否有任何魔法命令可以统一用于 g++ 的所有更新?
更新:
我发现安装它的正确命令是:
sudo apt-get install g++-5
Run Code Online (Sandbox Code Playgroud)
这现在有效!虽然在GCC 官方页面中,版本是 5.1。
我想探索由 g++ 10 提供的 C++20 中的概念和其他新功能。但是,我似乎找不到任何资源可以让我在线 apt-get a g++ 10?
我安装 g++10 的最简单方法是什么?
前段时间,我设法找到了具有 g++-4.7 版本的 PPA。但是,我不得不在我的机器上重新安装所有东西,而且我丢失了那个 PPA 的名字。有人可以指点我吗?我试图再次找到它,但没有任何运气。我正在安装 Ubuntu 11.10。
我尝试了以下方法:
sudo apt-get install build-essential
Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Run Code Online (Sandbox Code Playgroud)
但是当我编译终端显示以下内容时:
g++ hello.cpp -o hello
The program 'g++' can be found in the following packages:
* g++
* pentium-builder
Try: sudo apt-get install <selected package>
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
在使用较旧的 Ubuntu (v.12) 挂了很长时间后,我正在更新到 v.16 并且对“gcc-multilib”的提及感到非常困惑。
这实际上是移植到 Linux 的Apple 的“胖二进制文件”或“通用二进制文件”模型吗?
也就是说,Ubuntu 上的本机 C 库是否成为为各种架构打包多个二进制文件的容器?
如果是这样,我们不再需要在 x64 系统上专门安装 32 位运行时库?gcc 或 g++ 库的“默认”包包含运行和构建 32 位应用程序所需的所有内容?
我通过执行以下操作在 Ubuntu 12.10 上下载了 g++ 4.8:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install g++-4.8
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时:
sudo update-alternatives --config g++
Run Code Online (Sandbox Code Playgroud)
要切换 g++ 版本,它说:
update-alternatives: error: no alternatives for g++.
Run Code Online (Sandbox Code Playgroud)
但是,如果我这样做:
g++ --version
Run Code Online (Sandbox Code Playgroud)
它说:
g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright (C) 2011 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)
如何将我的 g++ 4.8 安装设置为默认的 g++?
我最近尝试降级到 gcc 4.7,因为我正在处理的 cfd 代码没有用最新的 gcc 版本编译。但是在经历了很多错误并且代码仍然没有编译之后,我放弃了,并想回到最新的 gcc 和 g++ 编译器,但似乎我可能搞砸了一些事情。
当我做:
sudo update-alternatives --remove-all gcc
sudo update-alternatives --remove-all g++
sudo apt-get install gcc-6.2 g++-6.2
Run Code Online (Sandbox Code Playgroud)
甚至 gcc-5.1 g++-5.1 就此事而言,它给了我以下错误
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package gcc-6.2
E: Couldn't find any package by glob 'gcc-6.2'
E: Couldn't find any package by regex 'gcc-6.2'
E: Unable to locate package g++-6.2
E: Couldn't find any package by glob 'g++-6.2'
E: Couldn't find any …Run Code Online (Sandbox Code Playgroud) 似乎在 Ubuntu 18.04 中,默认提供的 g++(版本 7.3.0)默认以 C++11 兼容模式运行。我的旧代码中出现了一些与 C++11 不兼容的错误。我安装了 g++-6(版本 6.4.0)并且程序编译正常。是否可以在 g++-7 中禁用 C++11 模式?