centos 自带 gcc 版本太老,希望升级
首先安装新的gcc,g++等
为了永久切换到GCC 9,你可以将Software Collections(SCL)
相关的命令添加到你的shell启动脚本中。这里以bash
为例,如果你使用其他shell(例如zsh
),可以相应地调整。
永久切换到GCC 9的步骤
-
修改
.bashrc
文件:打开你的
~/.bashrc
文件:nano ~/.bashrc
添加以下行以在每次启动shell时启用
devtoolset-9
:source /opt/rh/devtoolset-9/enable
-
源文件:
保存文件并退出编辑器,然后通过运行以下命令使更改生效:
source ~/.bashrc
验证配置
你可以通过以下命令验证是否已经成功切换到GCC 9:
gcc --version
输出应类似于:
gcc (GCC) 9.3.1 20200408 (Red Hat 9.3.1-2)
确保ccache
使用GCC 9
为确保ccache
使用正确的GCC 9路径,你可以在~/.bashrc
文件中继续添加以下行:
export CCACHE_COMPILER_PATH="$(which gcc)"
export CCACHE_CXX_COMPILER_PATH="$(which g++)"
然后再次source ~/.bashrc
以使更改生效:
source ~/.bashrc
最终步骤和验证
添加到你的~/.bashrc
后,整个文件应类似如下:
# Enable devtoolset-9
source /opt/rh/devtoolset-9/enable
# Ensure ccache uses the correct GCC paths
export CCACHE_COMPILER_PATH="$(which gcc)"
export CCACHE_CXX_COMPILER_PATH="$(which g++)"
通过以下命令验证ccache
是否正确配置并使用GCC 9:
ccache -s
gcc --version
测试编译
最后,通过编译一个项目来测试配置是否生效,并查看ccache
的命中率和统计信息:
make clean
make
ccache -s
这样,你就可以永久切换到GCC 9,并确保ccache
使用正确的编译器路径。