Kafka Linux软件安装 进程 Apache makefile centos8 5G 抖音 vue中文 pmp教程 erp项目描述 wps临时文件 cpm怎么计算 python集合 python函数内定义函数 java接口 java字符串 java时间戳转换成时间 java遍历集合 java读取文件内容 java语言介绍 java生成当前时间 javaenum java删除目录 java安装与配置 java注释规范 java环境下载 win10计算器下载 rar去广告 渐变事件 dota改键工具 flash基础 页面刷新 wegame更新失败 苹果手机验机软件 python延时函数 大数据之路 磁芯大战 文件粉碎工具 魔兽天龙八部
当前位置: 首页 > 学习教程  > 

Linux安装gcc 7.3.0编译器详解(CentOS 7 64位系统)

2020/10/16 17:45:32 文章标签: centos7安装gcc

因为原生的CentOS 7自动安装的gcc版本是4.8.5; yum -y install gcc gcc-c kernel-devel 最近工作和学习中需要使用C17,所以被迫安装新版本的gcc编译器。 一、环境准备 yum -y install gmp-devel …

因为原生的CentOS 7自动安装的gcc版本是4.8.5;

yum -y install gcc gcc-c++ kernel-devel

最近工作和学习中需要使用C++17,所以被迫安装新版本的gcc编译器。

 

一、环境准备

yum -y install gmp-devel                                                           // 编译依赖此库  
yum -y install mpfr-devel                                                          // 编译依赖此库  
yum -y install libmpc-devel                                                        // 编译依赖此库   
yum -y install bzip2                                                                   // 编译依赖此库

wget ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.15.tar.bz2   // 编译依赖此库
tar -jxvf isl-0.15.tar.bz2  
cd isl-0.15  
./configure   
make  
make install

编译完成,检查gcc版本:

[root@localhost gcc-7.3.0]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/7.3.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
Thread model: posix
gcc version 7.3.0 (GCC) 

 

二、gcc源码下载

http://ftp.gnu.org/gnu/gcc/

C++17要求gcc版本在7.1以上

 

三、gcc源码编译

tar xvf gcc-7.3.0.tar.gz

chmod -R 777 gcc-7.3.0
cd gcc-7.3.0

./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j4 #编译非常耗时间,笔者花了大约50min
make install

 

四、编译报错及解决方法

问题1:gcc源码自身编译,找不到库的问题

gcc-7.3.0/host-x86_64-pc-linux-gnu/gcc/cc1: error while loading shared libraries: libisl.so.15: cannot open shared object file: No such file or directory
make[3]: *** [s-selftest] Error 1
make[3]: Leaving directory `/root/Downloads/gcc-7.3.0/host-x86_64-pc-linux-gnu/gcc'
make[2]: *** [all-stage1-gcc] Error 2
make[2]: Leaving directory `/root/Downloads/gcc-7.3.0'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/root/Downloads/gcc-7.3.0'

# 在"/usr/local/lib"目录下,怎么就找不到库libisl.so。

解决方法是:加到"/etc/ld.so.conf"或用"LD_LIBRARY_PATH"。

vi /etc/ld.so.conf  #添加库的路径/usr/local/lib/

然后终端命令行执行ldconfig,再重新编译。

 

问题2:gcc升级完成之后,编译项目工程时遇到的软连接问题

/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found

解决办法:https://blog.csdn.net/libaineu2004/article/details/77100132

 

五、笔者cmake版本是3.13.0,平时习惯用Qt Creator作为IDE开发项目。gcc升级之后,相应的配置需要调整:

调整为:

 

---

参考文献:

https://www.cnblogs.com/davygeek/p/8018628.html

姐妹篇:

https://blog.csdn.net/libaineu2004/article/details/49160315

 


本文链接: http://www.dtmao.cc/news_show_300071.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?