在 CentOS 上“配置 C++ 版本”通常指以下几种情况之一,我分别说明,你可以对号入座:
g++ --version
gcc --version
CentOS 7 默认一般是 g++ 4.8.5
CentOS 8 默认一般是 g++ 8/9
yum install -y centos-release-scl
yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++
启用:
scl enable devtoolset-9 bash
g++ --version
永久生效(加到 ~/.bashrc):
echo "source /opt/rh/devtoolset-9/enable" >> ~/.bashrc
可选版本:
dnf install -y gcc-c++ gcc
或安装多个版本:
dnf install -y gcc-toolset-11
scl enable gcc-toolset-11 bash
g++ -std=c++11 main.cpp
g++ -std=c++14 main.cpp
g++ -std=c++17 main.cpp
g++ -std=c++20 main.cpp
CMake 中:
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
update-alternatives --install /usr/bin/g++ g++ /opt/rh/devtoolset-9/root/usr/bin/g++ 90
update-alternatives --install /usr/bin/gcc gcc /opt/rh/devtoolset-9/root/usr/bin/gcc 90
update-alternatives --config g++
g++ main.cpp -o main
./main
g++: command not foundyum install -y gcc-c++
不建议使用,建议升级系统。
如果你能告诉我:
我可以给你一套精确配置方案。