我正在尝试安装最新的稳定版g++
和c++11
。我的主持人仔细研究了一下,yum install
并认为这是最新的,但事实并非如此,他们现在说这超出了他们的支持范围。
我到处都在寻找如何做的方法,但是我什么都做不了,或者我不知道建议的解决方案在说什么。
在CentOS 5.9上安装g++
4.7.2 的最简单方法是什么?c++11
我正在尝试安装最新的稳定版g++
和c++11
。我的主持人仔细研究了一下,yum install
并认为这是最新的,但事实并非如此,他们现在说这超出了他们的支持范围。
我到处都在寻找如何做的方法,但是我什么都做不了,或者我不知道建议的解决方案在说什么。
在CentOS 5.9上安装g++
4.7.2 的最简单方法是什么?c++11
Answers:
从此问题的答案 “在CentOS [6.x]上安装gcc 4.7”,获得g++
CentOS 5.x的4.7以及所需工具和库的最简单方法是通过以下devtools
软件包:
cd /etc/yum.repos.d
wget http://people.centos.org/tru/devtools/devtools.repo
yum --enablerepo=testing-devtools-6 install devtoolset-1.0
既然你正在运行g++
手动(而不是通过make
),你需要更新你的$PATH
变量,以便你的shell将使用新的gcc
,g++
等二进制文件:
export PATH=/opt/centos/devtoolset-1.0/root/usr/bin/:$PATH
此时,您的g++
版本应为4.7.0
$ g++ --version
g++ (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5)
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
请注意,gcc
以这种方式进行安装以及与之相关的工具和库都依赖于存储库维护者来使它们的软件包保持最新。
如果您有兴趣保持gcc
最新状态,则可能需要考虑从source进行构建gcc
。
同样,使用与您的系统上安装的版本g++
和版本不同的程序进行编译libstdc++
可能会导致各种Fun现象,而解决这个问题超出了此答案的范围。可能值得转向支持您正在做的事情的Linux发行版。
yum
安装的软件包为devtoolset-1.0
,因为其中包含其他必需的开发工具;并且您将要更新$PATH
变量,因为您是g++
从命令行启动的。
export PATH..
一行放在〜/ .profile或〜/ profile_bash或同等学历:superuser.com/questions/809250/...
软件包管理器很棒,但是(可以理解)通常不会包含最新版本的软件。CentOS是一个特别专注于服务器的发行版,它比具有最新,最聪明的方法更倾向于稳定性(和广泛的测试)。这是您的解决方案:
变更发行版
其他发行版,例如Arch Linux,Sabayon Linux或Debian“ Sid”,都包括更快的最新版本。您可以考虑更改发行版。
自己建造
如果您对CentOS感到困惑,那么最好的选择是从source构建gcc。这意味着获取源代码,确保系统上已经存在依赖项(如果没有,我确定您可以从CentOS软件包管理器中获取它们),将源代码编译为二进制可执行文件,然后在您的系统上安装该可执行文件。系统。
当然,这不是最简单的方法,但是您会在此过程中学到很多有关Unix的知识。请确保阅读几次文档以确保您掌握了所有内容,如果不清楚某些具体内容,请提出问题。
耐心一点
在某个时候,此版本(或更高版本)的gcc / g ++将进入程序包管理器。如果您等待(长达数月,我对CentOS的发布周期不太熟悉),最终将获得所需的东西。