GCC 11.2 安装
其他版本,如9.5,12.1等都可以用同样方法编译安装,但是依赖包不一样,需要到gcc官网下载对应的依赖包和源码包
前置条件
首先把Ubuntu提供的各种构建工具都给他装上
sudo apt install build-essential manpages-dev software-properties-common gcc g++ make bison binutils gcc-multilib flex
下载源码包
可以到gnu镜像列表找到离你最近的镜像站,下载源码包。注意一定要下载编译所需的依赖包。如下:
(我这边最快的是jp的镜像站,每个人情况不同,根据实际情况替换其中的ftp.tsukuba.wide.ad.jp
,如果嫌麻烦可以点击这里下载)
http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-11.2.0/gcc-11.2.0.tar.gz
http://ftp.tsukuba.wide.ad.jp/software/gcc/infrastructure/gmp-6.1.0.tar.bz2
http://ftp.tsukuba.wide.ad.jp/software/gcc/infrastructure/isl-0.18.tar.bz2
http://ftp.tsukuba.wide.ad.jp/software/gcc/infrastructure/mpc-1.0.3.tar.gz
http://ftp.tsukuba.wide.ad.jp/software/gcc/infrastructure/mpfr-3.1.6.tar.bz2
注意,需要的依赖包版本必须一致:
- gmp-6.1.0
- isl-0.18
- mpc-1.0.3
- mpfr-3.1.6
安装步骤
- 首先解压gcc-11.2.0.tar.gz到任意目录(前提必须安装解压gz的工具,不在本教程讨论范围内,自行安装),例如
~
家目录:mv gcc-11.2.0-tar.gz ~ cd ~ tar xf gcc-11.2.0.tar.gz cd gcc-11.2.0/
- 拷贝或移动依赖包到源码根目录,注意是源码的根目录,并执行前置脚本
# 当前在~/gcc-11.2.0/ 目录下 ./contrib/download_prerequisites # 此时会解压我们放在源码根目录下的依赖包,并创建软连接
- 然后创建构建目录,并配置参数
mkdir build cd build ../configure configure -v --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --prefix=/usr/local/gcc-11.2 --enable-checking=release --enable-languages=c,c++ --disable-multilib --program-suffix=-11.2 # 说明一下,这里配置了将gcc安装在/usr/local/gcc-11.2目录下 # 并且编译后的可执行文件名为gcc-11.2以及g++-11.2等等
- 随后,在build目录下执行
make -j8
(4核机器用-j8
,八核机器可以用-j16
),就可以开始漫长的编译过程了。 - 编译完之后别忘了
make install
哦
使用
最简单的方式就是在.bashrc
中添加新gcc的环境变量:
# 配置可执行文件路径
export PATH=/usr/local/gcc-11.2/bin:$PATH
# 配置链接库路径
export LD_LIBRARY_PATH=/usr/local/gcc-11.2/lib64:$LD_LIBRARY_PATH
# 配合CMake 使用的环境变量
export CC=/usr/local/gcc-11.2/bin/gcc-11.2
export CXX=/usr/local/gcc-11.2/bin/g++-11.2