问题描述
我检查了我系统上的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安装这个软件包?
最佳解决办法
GCC-4.8是否可用于12.04精确度?
更新:截至2013年6月5日,目前在https://launchpad.net/~ubuntu-toolchain-r/+archive/test上发布了12.04(精确)的gcc 4.8.1版本。
简短的答案是:gcc-4.8
目前可通过工具链PPA或编译源代码获得12.04(精确)(详情见下文)。
发布公告
announcement for the release of gcc-4.8是在3月22日制作的,所以你可能不会在官方存储库中看到它。
但是,看起来Launchpad确实具有可用于包含gcc-4.8的toolchain测试版本的PPA,这里是:https://launchpad.net/~ubuntu-toolchain-r/+archive/test
根据changelog and package list,有i386,amd64,arm和powerpc的debs,并且是针对13.04的raring构建的。
gdb的最新版本为12.04,版本为4.8.1,可在工具链PPA中找到。
添加工具链/测试PPA:
要将PPA添加到系统中,请打开一个终端(Ctrl
+ Alt
+ t
)并运行以下命令:
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.ORG,gcc-4.7支持一些C++11 features。
-
从gcc-4.8版本开始,gcc-4.7不支持64个功能中的8个(请参阅C++0x/C++11 Support in GCC)
-
这些功能是:
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更改的完整列表,请参阅Changelist
我现在需要12.04精确的这些gcc功能。我怎样才能得到它们?
从源代码构建GCC-4.8:
如果您现在需要12.04版本的gcc-4.8,则唯一的选择是build it from source。
安装前请阅读GCC installation FAQ。
您可以从gnu.org的mirror sites之一或直接从SVN server下载gcc-4.8。
以下是从源代码编译的步骤示例(请参阅here以获取更多详细信息。)请注意,这些可能会因您的系统和首选项而异。
-
-
建立一个构建目录(
mkdir gcc-build && cd gcc-build
) -
下载源文件:
wget http://www.netgull.com/gcc/releases/gcc-4.8.0/gcc-4.8.0.tar.bz2
(调整此命令以使用适当的mirror site。 -
解压文件(
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
(这需要一些时间才能完成,去煮一些咖啡,或烤一些 Crackers ;-)) -
安装代码:
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 backports的人士。给他们一些运行make
时烘焙的 Crackers 。 😉