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版本进行编译,则相应地设置CC和CXXenv变量,gcc-4.9或者g++-4.9明确地调用编译器.
小智 5
可能要求的:packaging-dev,ubuntu-dev-tools
(这使您可以在chroot中构建一个包,而不会使用构建依赖包来污染您的系统)
sudo pbuilder create
Run Code Online (Sandbox Code Playgroud)
如果你想为特定的发行版构建(pbuilder在chroot中使用构建系统版本)你可以使用pbuilder-dist [precise/oneric/trusy/etc ...]创建
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.
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)