如何在Debian Wheezy armel上安装g ++ 4.9?

use*_*995 11 debian arm g++ c++11 gcc4.9

我的Debian 7 armel嵌入式系统目前有g ++ 4.6,我想升级到g ++ 4.9以使用新的C++ 11功能.我怎么做?

我目前的sources.list内容是:


    deb http://security.debian.org/ wheezy/updates main
    deb-src http://security.debian.org/ wheezy/updates main
    deb http://ftp.us.debian.org/debian wheezy main non-free
    deb-src http://ftp.us.debian.org/debian wheezy main non-free

一个简单的apt-get安装包不起作用:


    root@arm:~#  apt-get install g++-4.9
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    E: Unable to locate package g++-4.9
    E: Couldn't find any package by regex 'g++-4.9'

Lar*_*dua 15

根据这篇博客文章,另一个解决方法可能是从"Jessie"安装g ++ 4.9软件包.简而言之,在安装新的G ++时,您必须告诉APT使用Jessie repos.首先让当前的Wheezy保持最新状态:

sudo apt-get update
sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)

然后做一个备份:-)和编辑/etc/apt/sources.list,让你替换字符串"wheezy""jessie":

sudo cp /etc/apt/sources.list /etc/apt/sources.list.WHEEZY
sudo vi /etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)

现在更新软件包列表并安装4.9版本的GCC/G ++:

sudo apt-get update
sudo apt-get install gcc-4.9 g++-4.9
Run Code Online (Sandbox Code Playgroud)

在此之后恢复到"原始"包列表:

sudo cp /etc/apt/sources.list.WHEEZY /etc/apt/sources.list
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

这留下了原始的GCC,G ++.如果您希望使用4.9版本进行编译,则相应地设置CCCXXenv变量,gcc-4.9或者g++-4.9明确地调用编译器.

  • 有三个人表示这是一个有用的帖子,但没有人声称它有效.我按照上面的步骤进行操作.这次真是万分感谢. (5认同)

小智 5

可能要求的:packaging-dev,ubuntu-dev-tools

设置pbuilder

(这使您可以在chroot中构建一个包,而不会使用构建依赖包来污染您的系统)

sudo pbuilder create
Run Code Online (Sandbox Code Playgroud)

如果你想为特定的发行版构建(pbuilder在chroot中使用构建系统版本)你可以使用pbuilder-dist [precise/oneric/trusy/etc ...]创建

获取debian源代码

pull-debian-source gcc-4.9 [4.9.0-6] 
Run Code Online (Sandbox Code Playgroud)

特定的debian修订版是可选的,但是如果你想提取实验/不稳定/测试/稳定版本,你也可以通过将它们作为deb-src添加到sources.list并使用sudo apt-get src从特定的ubuntu发行版中提取

构建包

sudo pbuilder build gcc-4.9_4.9.0-6.dsc
Run Code Online (Sandbox Code Playgroud)

在下载的文件中有一个.dsc文件,对于最新的gcc,它是gcc-4.9_4.9.0-6.dsc,它是一个包描述符文件..orig.tar.[gz/xz]是源码tarball.

创建本地Apt-repository

mkdir /convenient/place/for/repo
cp /var/cache/pbuilder/result/* /path/to/repo
cd /path/to/repo
apt-ftp archive packages . > Packages
sudo echo "deb [trusted=yes] file:/local/repo/Packages ./" > /etc/apt/sources.list.d/gcc-repo.list`
Run Code Online (Sandbox Code Playgroud)

请注意,您也可以使用从任何地方下载的.debs执行此步骤(跳过步骤1-3)

安装

apt-get update; apt-get install gcc-4.9 g++-4.9
Run Code Online (Sandbox Code Playgroud)