CentOS升级GCC4.8.2
来源:互联网 发布:win7删除启动软件 编辑:程序博客网 时间:2024/05/18 13:06
编译安装
下载gcc最新版,自己在网上找资源就可以了,我用的资源忘记在哪找的了,这里随便百度了一个,并没有验证过,不过应该问题不大。4.8.2貌似是新版本里最稳定的。
wget http://gcc.skazkaforyou.com/releases/gcc-4.8.2/gcc-4.8.2.tar.gz
然后解压到文件夹,并进入解压后的目录
tar -xvzf gcc-4.8.2.tar.gzcd gcc-4.8.2
然后执行下面的命令运行大佬们帮我们写好的脚本,gcc依赖的gmp、mpc和mpfr 就下载并安装好了,感谢大佬
./contrib/download_prerequisites
再返回上一层,建立build_gcc_4.8.2目录,这个目录和gcc-4.8.2平行(我也不知道为什么要这样,之前直接在gcc文件夹中编译失败了。
cd ..mkdir build_gcc_4.8.1
进入刚建立的目录,并执行编译过程
cd build_gcc_4.8.2../gcc-4.8.1/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib make -j23 #这里我这样做时编译出了两次错误,后来直接用make反而一次成功了make install
并不清楚make -j23是什么意思,先这样呗,以后继续学习
OK,在build_gcc_4.8.2中将gcc已经安装完成
yum安装
wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo #下载yum源yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++
**这个方法因为这里不支持https就没有尝试,但是yum肯定比编译安装要简单的多。
如果yum不了的话,直接去https://people.centos.org/tru/devtools-2/6/x86_64/RPMS/
找对应的rpm包安装应该也可以,上面url是以64位centos6为例,不一致的话往上级目录翻一番就是了,不过貌似只有centos5和6两个版本的。**
这个将安装的文件放在了/opt/rh/devtoolset-2
如果想要编辑器去处理的话,这样操作
export CC=/opt/rh/devtoolset-2/root/usr/bin/gcc export CPP=/opt/rh/devtoolset-2/root/usr/bin/cppexport CXX=/opt/rh/devtoolset-2/root/usr/bin/c++
如果你想要gcc替换本地的,当然不是真的去替换,只要把他放在我们的/usrlocal/bin下面就好了,不必去管系统自带的/usr/bin
ln -s /opt/rh/devtoolset-2/root/usr/bin/* /usr/local/bin/hash -rgcc --version
一些配置
/usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/x86_64-unknown-linux-gnu-gcc-4.8.2 40/usr/sbin/update-alternatives --install /usr/bin/g++ g++ /usr/local/bin/g++ 40
这两行代码的功效貌似和上面建立软连接差不多。
update-alternatives是用来维护系统命令的符号链接,以决定系统默认使用什么命令的一个工具。具体怎么用请自行百度。
检验
yum安装最后提到了如何检验版本
gcc -v#得到如下显示就对了,不对的话试试重启Using built-in specs.COLLECT_GCC=gccCOLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.8.2/lto-wrapperTarget: x86_64-unknown-linux-gnuConfigured with: ../gcc-4.8.2/configure --enable-checking=release --enable-languages=c,c++ --disable-multilibThread model: posixgcc version 4.8.2 (GCC)
为了验证是否能够正常工作,以新加入到C++11中的std::array为例。
创建一个stdarray.cpp,然后复制如下代码
#include <iostream>#include <string>#include <iterator>#include <algorithm>#include <array>int main(){ // construction uses aggregate initialization std::array<int, 3> a1{ {1,2,3} }; // double-braces required std::array<int, 3> a2 = {1, 2, 3}; // except after = std::array<std::string, 2> a3 = { {std::string("a"), "b"} }; // container operations are supported std::sort(a1.begin(), a1.end()); std::reverse_copy(a2.begin(), a2.end(), std::ostream_iterator<int>(std::cout, " ")); std::cout << '\n'; // ranged for loop is supported for(auto& s: a3) std::cout << s << ' '; std::cout << '\n'; }
编译
g++ -std=c++11 -o stdarray stdarray.cpp
运行
./stdarray
结果输出
3 2 1 a b
表示升级后的GCC确实能够支持C++11开发
参考:
http://blog.csdn.net/abcd1f2/article/details/49760365
http://www.th7.cn/system/lin/201402/50250.shtml
http://www.cnblogs.com/jhj117/p/6117204.html
- CentOS升级GCC4.8.2
- Centos升级gcc4.4.7升级gcc4.8
- Centos升级gcc4.8
- CentOS升级gcc4.8.5
- CentOS升级gcc4.4.7到gcc4.8.5
- Centos升级gcc4.4.7升级gcc4.8手记
- centos安装GCC4.8.2
- centos5.6升级gcc4.8.2
- CentOS6.5升级GCC4.8.2
- CentOS离线安装gcc4.8.2
- CentOS离线安装gcc4.8.2
- CentOS 6.6安装gcc4.8.2
- CentOS离线安装gcc4.8.2
- CentOS 6.6安装gcc4.8.2
- CentOS6.3升级GCC到GCC4.8.2
- 手动编译源码升级gcc4.8.2
- CentOS6.5升级手动安装GCC4.8.2
- CentOS6.5手动升级gcc4.8.2
- Network
- Tools
- 商城楼梯效果
- Tools
- Network
- CentOS升级GCC4.8.2
- Testing
- Tools
- Tools
- Tools
- Linux
- SpringMVC文件上传
- Tools
- Linux