在GCC在精确档案馆最新版本是4.6.3。但是,GCC 4.7增加了对一些较新的C ++ 11功能(例如委托构造函数)的支持。Quantal的软件包存档具有GCC 4.7.2。
有什么方法可以在Precise上安装GCC 4.7?更好的是,是否有一种简单的方法可以在一个发行版中获取软件包的新版本并将其回移植到较旧的版本?
在GCC在精确档案馆最新版本是4.6.3。但是,GCC 4.7增加了对一些较新的C ++ 11功能(例如委托构造函数)的支持。Quantal的软件包存档具有GCC 4.7.2。
有什么方法可以在Precise上安装GCC 4.7?更好的是,是否有一种简单的方法可以在一个发行版中获取软件包的新版本并将其回移植到较旧的版本?
Answers:
我创建了一个PPA,其中包含用于精确的GCC 4.7版本:
ppa:george-edison55 / gcc4.7-precise(有关使用PPA的说明,请单击此处。)
将软件包从一个发行版反向移植到另一个发行版是一个相对简单的过程,前提是您拥有一个Launchpad帐户并在那里注册了GPG密钥。
确保已安装ubuntu-dev-tools软件包:
sudo apt-get install ubuntu-dev-tools
运行backport命令的语法如下所示:
backportpackage -s [new_release] -d [old_release] -u [ppa] [package_name]
上面的命令将反向移植[package_name]
来自[new_release]
于[old_release]
并上传到[ppa]
。注意,在这个特殊的情况下,你不仅需要反向移植gcc-4.7
,但也gcj-4.7
并gcc-defaults
按此顺序。
一种更简单的方法是仅使用Ubuntu Toolchain Uploaders(受限制的)团队的PPA测试版本,该版本在较旧版本中具有较新的工具链的Toolchain构建(包括gcc等)。上面的链接显示了Precise软件包,但是它们确实可以编译。
可用的版本包括gcc 4.7、4.8、4.9和5,尽管我仅测试了4.7。
您始终可以向后移植您自己的gcc软件包等,但这总是需要时间。