首先安装源码包(我已保存在“下载”目录下):
wget https://ftp.gnu.org/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.gz
解压,进入目录 cd gcc-10.2.0 , 然后下载依赖包(gcc工程目录下面有脚本可以自动拉取),即在gcc-10.2.0目录下输入:
./contrib/download_prerequisites
接着进行配置:
依然是在gcc-10.2.0目录下新建build目录—— mkdir build
cd build
进行配置(最前面是两个点 ../ )
../configure --prefix=/usr/local/gcc-10.2.0/ --enable-checking=release --enable-languages=c,c++ --disable-multilib
注意-prefix,这里我们指定将gcc-10安装到了/usr/local/gcc-10.2.0目录下,所以再执行上行的命令!!不然执行起来是没有反应的。
configure各项参数详解:
–prefix=/usr/local/gcc-10.2.0/:把所有资源文件都放在该路径下。
–enable-checking=release: 生成的编译器在编译过程中不做额外检查。
–enable-languages=c,c++: 让gcc支持c,c++。
–disable-multilib: 不生成编译为其他平台可执行代码的交叉编译器。
然后就在build目录下编译就好了
make -j8 只要电脑有4个核,这里就可以加上-j8,编译速度显著提高,不然可能要等1个小时以上。
sudo make install
此时输入gcc -v大概率依然显示之前的版本,因为还需要添加环境变量!
在/etc/profle和~/.bashrc文件最后加上以下内容:
export gcc_10=/usr/local/gcc-10.2.0
export PATH=${gcc_10}/bin:${PATH}
export C_INCLUDE_PATH="/usr/local/gcc-10.2.0/include"