1. 前言
今天在Linux下用CMake编译第三方开源库,提示gcc版本太低,让装gcc 10或更高版本,我本机gcc是7.5.0版本的。如何将gcc 7.5.0升级到高版本呢?
2. 具体步骤
从gcc-13.2.0下载gcc13.2.0,执行如下命令解压缩:
tar -xzvf gcc-13.2.0.tar.xz
进入解压缩后目录:
cd gcc-13.2.0
运行download_prerequisites脚本,自动下载并解压所需要的依赖文件和库 :
./contrib/download_prerequisites
建立编译输出目录
mkdir build
进入编译输出目录:
cd build
说明:升级gcc,必须保证本机装了一个低版本的gcc、g++,否则升级时源码会因没有gcc编译器而不能编译,记住:是升级gcc,而不是从无到有安装gcc。
非root用户执行如下命令生成makefile文件:
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib --prefix=/usr/local/gcc-13.2.0
其中/usr/local/gcc-13.2.0表示编译完成安装目录,请事先确保该目录存在。
–enable-languages表示你要让你的gcc支持那些语言,–disable-multilib不生成编译为其他平台可执行代码的交叉编译器。–disable-checking生成的编译器在编译过程中不做额外检查,也可以使用–enable-checking=xxx来增加一些检查。
执行如下命令编译:
make -j8
编译估计耗时4小时,编译完成后,执行如下命令安装:
sudo make install
执行如下命令打开配置:
sudo vi /etc/profile
在文件末尾输入如下两行:
export PATH=/usr/local/gcc-13.2.0/bin:/usr/local/gcc-13.2.0/lib64:$PATH
export LD_LIBRARY_PATH=/usr/local/gcc-13.2.0/lib/:$LD_LIBRARY_PATH
保存退出,执行如下命令,使配置生效:
source /etc/profile
默认情况下,g++位置为:
/usr/bin/g++
执行如下命令,做一个软链接,以便将g++指向升级之后的g++
sudo ln -s /usr/local/gcc-13.2.0/bin/g++ /usr/bin/g++
默认情况下,gcc位置为:
/usr/bin/cc
这里的cc表示c编译器,执行如下命令,做一个软链接,以便将cc指向升级之后的gcc:
sudo ln -s /usr/local/gcc-13.2.0/bin/gcc /usr/bin/cc
执行如下命令测试是否升级成功:
gcc -v
结果如下,证明升级成功。

本文转自:
作者:Cabot16
链接:https://www.jianshu.com/p/ca30d2b61fdc
本文详细描述了如何在Linux环境下,使用CMake编译时遇到GCC版本过低的问题,通过下载并逐步升级GCC13.2.0的过程,包括下载、配置、编译和安装,以及设置环境变量的步骤。
3986

被折叠的 条评论
为什么被折叠?



