A T*_*A T 80 package-management gcc g++
如何安装最新版本的 gcc 和 g++?
我正在使用各种 C++11 和 C++1y 特性;这就是为什么我需要这个。
Vla*_*sky 110
您可以从 Ubuntu 工具链 PPA 安装接近上游版本的 GCC:https : //wiki.ubuntu.com/ToolChain#PPA_packages
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install g++-4.9
Run Code Online (Sandbox Code Playgroud)
在 Ubuntu 14.04 上测试。
cra*_*sic 43
教人钓鱼等等。
如何构建源包并以友好的方式从本地存储库提供它。只要可以满足依赖关系,这将适用于任何发行版/此方法不需要您为每个软件包安装 build-deps 并用无关的软件包污染您的机器,这将使您能够在软件包在 debian Experiment 中更新时跟上它们. 只需几分钟即可完成一次,然后可以重复使用以重建您需要的任何包,而无需依赖其他人为您打包 ppa 或下载一堆不同的 .debs
构建与从 debian 中提取原始 .debs 的好处在于,这将针对您的发行版中的软件包构建软件包,这些软件包的版本/修订版可能与 debian 发行版的构建依赖项不同。这或多或少是向后移植包的过程。您还可以使用任何 ubuntu 发行版轻松构建针对任何其他发行版的包(在这种情况下,目标是指针对标准存储库包构建)。
(不适用于 ppa 上传 - 这对启动板有官僚主义要求
也许,需要:packaging-dev(拉build-essential pubilder ubuntu-dev-tools等)
设置 pbuilder(这可以让你在 chroot 中构建一个包,而不会用构建依赖包污染你的系统)
sudo pbuilder create, pbuilder-dist [precise/oneric/trusy/etc...] create获取 debian 源
pull-debian-source gcc-4.9 [4.9.0-6] 特定的 debian 修订版是可选的,但如果你想拉出实验/不稳定/测试/稳定修订版,它会很有用 sudo apt-get src 构建包
sudo pbuilder build gcc-4.9_4.9.0-6.dsc .dsc文件,对于最近的 gcc,gcc-4.9_4.9.0-6.dsc它是一个包描述符文件。.orig.tar.[gz/xz]是源 tarball。创建本地 Apt 存储库
mkdir /convenient/place/for/repocp /var/cache/pbuilder/result/* /path/to/repoapt-ftp archive packages . > Packagessudo echo "deb [trusted=yes] file:/local/repo/Packages ./" > /etc/apt/sources.list.d/gcc-repo.list安装
apt-get update; apt-get install gcc-4.9 g++-4.9在构建包时使用自编译包来满足依赖关系。(我已经设置了文件夹~/pbuilder ~/pbuilder/precise_local(用于精确的本地包回购)和~/pbuilder/precise_hooks(用于钩子脚本))
将以下内容添加到您的 ~/.pbuilderrc
OTHERMIRROR="deb [trusted=yes] file:///home/user/pbuilder/precise_local ./"
BINDMOUNTS="/home/user/pbuilder/precise_local"
HOOKDIR="/home/user/pbuilder/precise_hooks"
EXTRAPACKAGES="apt-utils"
Run Code Online (Sandbox Code Playgroud)
在precise_hooks创建文件时D05local(在典型的 unix/linux 方式中,前缀D告诉脚本何时被挂钩05是自我强加的名称排序并且local只是名称,如果您只有一个挂钩,则它的名称并不重要,只要D前缀是
脚本是单行的
(cd /home/user/pbuilder/precise_local ; apt-ftparchive packages . > Packages)
现在放置的任何包都precise_local将满足构建依赖。当向后移植具有也需要向后移植的依赖项的包时,这对于在本地构建依赖关系树非常有用
要以更简洁的方式做到这一点,请使用 VM 映像或 LXC 容器来解决这个问题。
您可以使用在大多数 debian 包中应用自定义补丁quilt,quilt 补丁可以使用来自大多数 VCS 的差异(请参阅:使用 quilt)
还有一个额外的步骤,您必须重建.dsc和.debian.tar.gz。我知道最干净的方式是bzr-builddeb它具有最高的成功率恕我直言(与 git-build-package 和其他帮助脚本相比)并且比debuild直接调用要干净得多(bzr= bazaar canonical's VCS)
sudo apt-get install bzr-builddeb .orig.tar.gz被提取并被.debian.tar.gz提取并放入其中
bzr initbzr addbzr commitdebian/changelogdebian/patches/和修改debian/patches/series(被子还有用于添加补丁或让您即时修改的实用程序,请参阅文档)bzr add debian/bzr commitbzr builddeb -- -S -us -uc 这会重建源文件并使其未签名(PPA/发行版上传需要 gpg 签名,但私有本地存储库不需要)cd ../build-area/ 从上面的第 3 步继续。 这里的步骤 1-4 几乎是您需要上传到 PPA 的内容(它们不采用二进制文件),但是您需要一些步骤来满足启动板的官僚主义(这个答案提供了解释,这个有一些链接)
hwe*_*wez 27
安装
sudo su -
apt-get install build-essential
add-apt-repository ppa:ubuntu-toolchain-r/test
apt-get update
apt-get install gcc-4.9 g++-4.9 cpp-4.9
Run Code Online (Sandbox Code Playgroud)
之后,如果您检查 gcc 的版本,您会发现旧版本
gcc --version
Run Code Online (Sandbox Code Playgroud)
所以我们可以用简单的符号来修复它
cd /usr/bin
rm gcc g++ cpp
ln -s gcc-4.9 gcc
ln -s g++-4.9 g++
ln -s cpp-4.9 cpp
Run Code Online (Sandbox Code Playgroud)
update-alternatives
// 实际上我尝试了符号并且我知道这会起作用,但是您可以使用符号来获得它而不会出现问题 // 如果我错了,请纠正我
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 40 --slave /usr/bin/gcc gcc /usr/bin/gcc-4.9
update-alternatives --config gcc
update-alternatives --install /usr/bin/cpp cpp /usr/bin/cpp-4.9 40 --slave /usr/bin/cpp cpp /usr/bin/cpp-4.9
update-alternatives --config cpp
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9
update-alternatives --config g++
Run Code Online (Sandbox Code Playgroud)
/usr/bin/gcc4.9 filename.c
Run Code Online (Sandbox Code Playgroud)
gcc-4.9 就像 gcc-4.8 "ubuntu 14.04 gcc" 没什么大的区别

Debian 提供了一个软件包:https : //packages.debian.org/jessie/gcc-4.9 - 防止导致 Ubuntu/Debian 兼容性问题;不要将它添加到您的 sources.list。
相反,只需下载所有这些:
binutils_2.25-5_amd64.deb
cpp_4.9.2-2_amd64.deb
g++_4.9.2-2_amd64.deb
gcc_4.9.2-2_amd64.deb
gcc-4.9-base_4.9.2-10_amd64.deb
libasan1_4.9.2-10_amd64.deb
libatomic1_4.9.2-10_amd64.deb
libcilkrts5_4.9.2-10_amd64.deb
libgcc1_4.9.2-10_amd64.deb
libgcc-4.9-dev_4.9.2-10_amd64.deb
libgomp1_4.9.2-10_amd64.deb
libitm1_4.9.2-10_amd64.deb
liblsan0_4.9.2-10_amd64.deb
libmpfr4_3.1.2-2_amd64.deb
libquadmath0_4.9.2-10_amd64.deb
libstdc++-4.9-dev_4.9.2-10_amd64.deb
libstdc++6
libtsan0_4.9.2-10_amd64.deb
libubsan0_4.9.2-10_amd64.deb
Run Code Online (Sandbox Code Playgroud)
从 Debian 的服务器,例如:
http://ftp.us.debian.org/debian/pool/main/b/binutils/binutils_2.25-5_amd64.deb
然后安装它们,例如: $ for package in *.deb; do sudo dpkg --install "$package"; done
[比记住下载它们的顺序更容易运行几次 bash 循环直到覆盖所有依赖项!]
| 归档时间: |
|
| 查看次数: |
276472 次 |
| 最近记录: |