我检查了我的系统上的 gcc 版本。
目前是 4.6.3。我读到 gcc-4.8 已经发布了。
我尝试了以下命令,但没有成功:
sudo apt-get install gcc (gcc is already the newest version)
sudo apt-get install gcc-4.8 (unable to locate package)
有人知道如何在 12.04 上安装这个包吗?
答案1
GCC-4.8 现在适用于 12.04 Precise 吗?
更新:截至 2013 年 6 月 5 日,目前有适用于 12.04(precise) 的 gcc 4.8.1 版本可供使用,网址为https://launchpad.net/~ubuntu-toolchain-r/+archive/test。
简短的回答是:gcc-4.8
目前可通过工具链 PPA 获得 12.04(Precise)版本 或者通过编译源代码(详情见下文)。
发布公告
这gcc-4.8 发布公告是在 3 月 22 日制作的,因此您可能暂时不会在官方存储库中看到它。
不过,Launchpad 似乎确实有一个适用于工具链包含 gcc-4.8 的测试版本如下:https://launchpad.net/~ubuntu-toolchain-r/+archive/test
根据更新日志和软件包列表,有适用于 i386、amd64、arm 和 powerpc 的 deb,并且针对 raring 13.04 构建。
对于 12.04,gcc 的最新可用版本是 4.8.1,可在工具链 PPA 中使用。
添加工具链/测试 PPA:
要将 PPA 添加到您的系统,请打开终端(++ Ctrl)并运行以下命令:Altt
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
系统还会提示您安装一些建议的软件包。这些软件包是推荐的,但对于 gcc-4.8 的安装是可选的。
gcc-4.8 中有哪些 C++ 功能在 gcc-4.7.2 中不可用?
- 根据GNU组织gcc-4.7 支持多种C++11 功能。
从 gcc-4.8 版本开始,gcc-4.7 不再支持 64 个功能中的 8 个(请参阅GCC 中的 C++0x/C++11 支持)
这些功能包括:
Language Features - Rvalue references for *this - Generalized attributes - Alignment support - Inheriting constructors Concurreny - Bidirectional Fences - Memory model - Abandoning a process and at_quick_exit - Thread-local storage
- 有关 gcc-4.8 中更改的完整列表,请参阅更改列表
我现在需要 12.04 Precise 上的这些 gcc 功能。我该如何获得它们?
从源代码构建 GCC-4.8:
如果你现在需要在 12.04 上使用 gcc-4.8,你唯一的选择是从源代码构建。
请阅读GCC 安装常见问题解答安装之前。
您可以从 gnu.org 的镜像站点或直接从他们的SVN 服务器。
以下是从源代码编译的步骤示例(请参阅这里了解更多详情。)请注意,这些可能会根据您的系统和偏好而有所不同。
下载源代码
- 创建构建目录 (
mkdir gcc-build && cd gcc-build
) - 下载源文件:(
wget http://www.netgull.com/gcc/releases/gcc-4.8.0/gcc-4.8.0.tar.bz2
调整此命令以使用适当的镜像站点。 - 解压文件 (
tar -xvjf <file name>
)
- 创建构建目录 (
安装一些额外的库(
sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev libc6-dev
)- 编译源代码:
./gcc-4.8.0/configure --prefix=/app/gcc/4.8.0
- 运行
make
(这将需要一些时间才能完成。去煮点咖啡,或者烤些饼干。;-)) - 安装代码:
sudo make install
此过程完成后,运行命令gcc --version
以验证安装是否已成功完成。您应该看到类似于以下输出的内容:
maggotbrain@foucault:~$ gcc --version
gcc (Linaro 4.8.0) 4.8.0
Copyright (C) 2013 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.
底线:感谢所有为您提供易于安装的 Ubuntu 反向移植的人。给他们一些您在运行时烤的饼干make
。;-)
答案2
因此,上述答案有效,至少对于手动安装而言。尽管即使在之后sudo make install
,运行gcc
仍然只运行原始版本 4.6.3。即使尝试gcc-4.8
或也gcc-4.8.0
不起作用。运行/app/gcc/4.8.0/bin/gcc
似乎是唯一对我有用的方法。我的意思是它有点蹩脚,但至少它有效。