Linux gcc版本如何升级

Crq
Crq
管理员
1878
文章
0
粉丝
Linux教程评论57字数 326阅读1分5秒阅读模式

操作环境 Red-hat 6.2 64bit,yum安装自带版本4.4.7,不能支持C++11的特性,需要升级到4.8.2,本文主要操作如下。

简易安装

获取安装包并解压

  1. wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
  2. tar -jxvf gcc-4.8.2.tar.bz2

当然,http://ftp.gnu.org/gnu/gcc 里面有所有的gcc版本供下载,最新版本已经有4.9.2啦。下载供编译需求的依赖项,这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。

  1. cd gcc-4.8.2 
  2. ./contrib/download_prerequisites 

建立一个目录供编译出的文件存放

  1. mkdir gcc-build-4.8.2
  2. cd gcc-build-4.8.2

生成Makefile文件

  1. ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib

编译(注意:此步骤非常耗时)

  1. make -j4

-j4选项是make对多核处理器的优化。

安装

  1. sudo make install
验证安装

重启,然后查看gcc版本

  1. gcc -v

写一个C++11特性的程序段 test.cpp,使用了shared_ptr

  1. //test.cpp
  2. #include
  3. #include
  4. using namespace std;
  5. int main()
  6. {
  7. shared_ptr pInt(new int(10));
  8. cout

验证

  1. g++ -std=c++11 -o test test.cpp
  2. ./test

如果找不到libstdc++.so.6中的GLIBCXX_3.4.15,请执行下面命令

  1. cp /usr/local/lib64/libstdc++.so.6.0.18 /usr/lib64
  2. rm -rf /usr/lib64/libstdc++.so.6
  3. ln -s /usr/lib64/libstdc++.so.6.0.18 /usr/lib64/libstdc++.so.6

查看是否链接上

  1. ll /usr/lib64/libstdc++.so.6
  2. lrwxrwxrwx 1 root root 19 9 29 12:48 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.18

weinxin
我的微信
微信号已复制
我的微信
这是我的微信扫一扫
 
Crq
  • 本文由 Crq 发表于2024年11月4日 17:27:54
  • 转载请注明:https://www.cncrq.com/11516.html
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证
加载中...