背景
编译新项目发现很多异常,新项目很多语法使用C++17,ubuntu16.04自带的gcc版本为5.3.1,虽设置了-std=c++17,依然有许多不支持的特性,需要安装新版本gcc进行代码编译。但使用apt安装不了,出现各种依赖问题无法,遂选择使用源码进行编译。
源码地址:
https://packages.ubuntu.com/focal/gcc-9
http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-9/gcc-9_9.4.0.orig.tar.gz
编译步骤
- 下载依赖项
./contrib/download_prerequisites
- 源码配置
./configure --disable-multilib
- 编译
make & make install
- 新版本gcc特性
使用了某些函数而没有引入其所有头文件时,编译器会给出要添加哪个头文件的提示,特别好用。
相关文档:
1、https://stackoverflow.com/questions/24325754/gcc-installation-error
2、https://stackoverflow.com/questions/9253695/building-gcc-requires-gmp-4-2-mpfr-2-3-1-and-mpc-0-8-0