如何安装 gcc-4.8

MdT*_*MdT 99 gcc software-installation

我检查了系统上的 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)
Run Code Online (Sandbox Code Playgroud)

有谁知道如何在 12.04 上安装这个包?

Kev*_*wen 121

GCC-4.8 现在可用于 12.04 Precise 吗?

更新:截至 2013 年 6 月 5 日,目前在https://launchpad.net/~ubuntu-toolchain-r/+archive/test 上发布了适用于 12.04(精确)的 gcc 4.8.1 版本。

简短的回答是:gcc-4.8目前可通过工具链 PPA 通过编译源(有关详细信息,请参见下文)用于 12.04(Precise )。

发布公告

对GCC-4.8的发行公告被做了3月22日,所以你可能不会在官方库见状只是还没有。

但是,Launchpad 似乎确实有一个 PPA 可用于包含 gcc-4.8的工具链测试版本,这里:https : //launchpad.net/~ubuntu-toolchain-r/+archive/test

根据更改日志和包列表,有 i386、amd64、arm 和 powerpc 的deb,并且是针对 raring 13.04 构建的。

gcc 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
Run Code Online (Sandbox Code Playgroud)

系统还会提示您安装一些建议的软件包。这些包是推荐的,但可选的,用于安装 gcc-4.8。

gcc-4.8 中有哪些 C++ 特性在 gcc-4.7.2 中不可用?

  • 根据GNU.ORG,gcc-4.7 支持许多C++11 特性
  • 从 gcc-4.8 版本开始,gcc-4.7 不支持 64 个特性中的 8 个(参见GCC 中的 C++0x/C++11 Support

  • 这些功能是:

    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 
    
    Run Code Online (Sandbox Code Playgroud)
  • 对于GCC-4.8变化的完整列表,请参阅变更列表

我现在需要 12.04 Precise 上的这些 gcc 功能。我怎样才能得到它们?

从源代码构建 GCC-4.8:

如果您现在需要在 12.04 上使用 gcc-4.8,您唯一的选择就是从 source 构建它

请在安装前阅读GCC 安装常见问题解答

您可以从 gnu.org 的镜像站点之一或直接从他们的SVN 服务器下载 gcc-4.8 。

以下是从源代码编译的步骤示例(有关其他详细信息,请参见此处。)请注意,这些步骤可能因您的系统和首选项而异。

  1. 下载源代码

    • 创建一个构建目录 ( 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>)
  2. 安装一些额外的库 ( sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev libc6-dev)

  3. 编译源码: ./gcc-4.8.0/configure --prefix=/app/gcc/4.8.0
  4. 运行make(这需要一些时间才能完成。去煮点咖啡,或者烤点饼干。;-))
  5. 安装代码: 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.
Run Code Online (Sandbox Code Playgroud)

底线:感谢所有为您提供易于安装的 Ubuntu 向后移植的人。给他们一些你在跑步时烤的饼干make。;-)

  • 注意:我还必须安装包 g++-4.8(除了 gcc-4.8)才能编译 C++ 代码。否则我会收到编译错误:`gcc: error试图执行 'cc1plus': execvp: No such file or directory 4.8`。 (7认同)
  • 安装额外的库对我来说还不够,但是运行 `./contrib/download_prerequisites.sh` 修复了它(来自 http://stackoverflow.com/questions/9253695/building-gcc-requires-gmp-4-2-mpfr -2-3-1-and-mpc-0-8-0)。 (3认同)