首先编译gcc我们需要安装gcc,一般直接包管理器安装就好了
sudo apt update
sudo apt install -y gcc g++
sudo apt install -y build-essential libgmp-dev libmpfr-dev libmpc-dev flex bison texinfo wget下载最新GCC源码
https://ftp.gnu.org/gnu/gcc/ 找一下最新版本,例如截止到 2025-12-29 最新版本是 gcc-15.2.0
wget https://ftp.gnu.org/gnu/gcc/gcc-15.2.0/gcc-15.2.0.tar.gz
tar -xf gcc-15.2.0.tar.gz
cd gcc-15.2.0拉取依赖
gcc-15.2.0# ./contrib/download_prerequisites创建独立构建目录
gcc-15.2.0# mkdir build
gcc-15.2.0# cd build配置编译参数
gcc-15.2.0/build# ../configure \
--prefix=/opt/gcc-15.2.0 \
--enable-languages=c,c++ \
--disable-multilib开始编译
gcc-15.2.0/build# make -j$(nproc)安装
gcc-15.2.0/build# sudo make install到此安装成功去试试
/opt/gcc-15.2.0/bin# gcc -v
/opt/gcc-15.2.0/bin# g++ -v如果没啥问题可以卸载原来老的gcc了(根据具体情况,你完全可以保留原有的gcc)
sudo apt uninstall gcc
sudo apt autoremove使用新GCC,加下环境变量 .bashrc
# ==== custom GCC 15.2.0 ====
export GCC_HOME=/home/gaowanlu/local/gcc-15.2.0-bin
export PATH=$GCC_HOME/bin:$PATH
export LD_LIBRARY_PATH=$GCC_HOME/lib64:$LD_LIBRARY_PATH
export CC=$GCC_HOME/bin/gcc
export CXX=$GCC_HOME/bin/g++改过后
source .bashrc
which gcc
which g++
gcc --version对于cmake项目,通常我们会删掉老的build目录,CMake找gcc只会在第一次cmake时找,后面变了不会更新。
VSCode settings.json .vscode/settings.json
{
"cmake.configureSettings": {
"CMAKE_C_COMPILER": "/opt/gcc-15.2.0/bin/gcc",
"CMAKE_CXX_COMPILER": "/opt/gcc-15.2.0/bin/g++",
"CMAKE_CXX_STANDARD": "20"
}
}CMakeLists.txt
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)VSCode IntelliSense .vscode/c_cpp_properties.json
{
"version": 4,
"configurations": [
{
"name": "Linux",
"compilerPath": "/opt/gcc-15.2.0/bin/g++",
"cStandard": "c23",
"cppStandard": "c++20",
"intelliSenseMode": "linux-gcc-x64",
"includePath": [
"${workspaceFolder}/**"
]
}
]
}CMake 配置时通过命令行指定
mkdir -p build
cd build
cmake .. \
-DCMAKE_C_COMPILER=/opt/gcc-15.2.0/bin/gcc \
-DCMAKE_CXX_COMPILER=/opt/gcc-15.2.0/bin/g++如需指定标准
cmake .. \
-DCMAKE_C_COMPILER=/opt/gcc-15.2.0/bin/gcc \
-DCMAKE_CXX_COMPILER=/opt/gcc-15.2.0/bin/g++ \
-DCMAKE_CXX_STANDARD=20