gcc - 在Debian上,安装 gcc 4.8

  显示原文与译文双语对照的内容
0 0

我想开始玩一些新的C++11特性,它看起来最好的支持是 gcc 4.8,而 Squeeze 4.4.5.

但是,我不想在当前设置中导致任何"损坏"。 最好的办法是什么版本的gccside-by-side运行? 我最关心的是大量的依赖,把它们全部放到我当前的系统中可能会使它不稳定。

是否有人做到了这一点,以及涉及的步骤是什么?

如果失败,我可能会创建一个VM并运行一个"不稳定"debian,但它是一个less-than-ideal解决方案。

时间: 原作者:

0 0

如果你从源代码安装gcc只要确保你不要安装 /usr, 不会什么都搞得一团糟。 如果你将它作为你自己的用户而不是 root 安装,那么就有可能搞乱系统。

查看 http://gcc.gnu.org/wiki/InstallingGCC 以获得almost-idiot-proof最小配置。

我有不同版本的版本作为我的用户,并安装在 ~/gcc/4.X 中用于各种版本。

唯一使用设置,需要注意的是,新版本的共享库没有动态链接器的默认搜索路径,所以你需要使用 LD_LIBRARY_PATH 或其他解决方案,以确保可执行文件找到库从 4.8,看到 libstdc++ FAQ和链接的页面手动

我使用一个包装脚本调用 g++11,它简单地调用新版本的GCC,并通过 -std=gnu++11 传递一个标志,告诉链接器设置可执行文件中 4.8库的路径:


$HOME/gcc/4.8/bin/g++ -Wl,-rpath,$HOME/gcc/4.8/lib64 -std=gnu++11 -Wall -Wextra -g"$@"

原作者:
0 0

我有同样的问题,不想完全升级到测试。

Jessie ( 测试) 现在包含 g++-4.8,它与C++11兼容。

我按以下方式使用 apt-pinning:

一个jessie的源被添加到/etc/apt/sources. 列表:


deb http://ftp.uk.debian.org/debian/jessie main non-free contrib

/etc/apt/preferences 被编辑为:


Package: *
Pin: release n=wheezy
Pin-Priority: 900

Package: gcc*
Pin: release n=jessie
Pin-Priority: 910

然后,


$ sudo aptitude update
$ sudo aptitude install gcc/jessie

此时我选择了第二个选项来完全解析依赖关系。

原作者:
0 0

Debian的名字是 gcc-4.8 ( 或者对于 C++ 编译器,g++-4.8 ) 。 安装这些软件包不会弄乱你的操作系统,只要你不把它重命名为 G++ 。 软件包被列为实验性的。
软件包上的信息是 ,这里是

更新: g++-4.8 现在测试,但是不稳定的更新包

0 0

快速的:

  1. 升级到测试,它是rock-solid并提供了几个并发的gcc版本。 Ubuntu相似,在 12.10上,我同时拥有 gcc/G++ 4.4,4.5,4.6和 4.7.

  2. 尝试使用 Debian backports存档,它可能有一个 gcc 4.8端口。

  3. 使用虚拟化:我喜欢在Linux上非常轻量级的libvirt/kvm,因为它是基于内核的。 我的amd64服务器有另外两个 32位的安装,这非常原因。

  4. 这不是一个真正的问题。

原作者:
0 0

你是否尝试过 chroot 来安装新的Debian风格?

...