Linux 为当前用户安装新版的 GCC 和 CMake
前言
在实验室服务器上编译一个 C++ 项目的时候遇到了 GCC 和 CMake 版本太低的问题,第一反应是升级服务器的 GCC 和 CMake 版本,但是这样的话突然升级版本可能对其他同学有影响,所以最好还是为自己配置一套新的环境吧。主要的过程是下载、编译后在 ~/.bashrc 中设置当前用户环境变量。
安装 GCC
步骤
-
下载
当前 gcc 最新版本是 11.2.0,首先在自己用户空间下新建一个目录下载该版本的 gcc(其他版本可以在这里找到)
wget http://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz
-
解压
tar -zxvf gcc-11.2.0.tar.gz
来到解压后的 gcc-11.2.0 目录,下载所需依赖(GMP, MPFR、MPC 和 ISL),可能不能一次性下载成功,这样的话删掉已下载的依赖然后重新执行下面的命令。
./contrib/download_prerequisites
-
在 gcc-11.2.0 外新建一个目录作为编译后的安装路径:
mkdir gcc_11.2.0-flash
-
来到 gcc-11.2.0 目录下创建一个 build 目录用于编译然后配置编译属性:
../configure --disable-checking --enable-languages=c,c++ --disable-multilib --prefix="gcc_11.2.0-flash 的绝对路径" --enable-threads=posix
-
编译并安装
make -j 64(服务器 64 核我全开了) && make install -
在 ~/.bashrc 中设置用户环境变量后执行
source ~/.bashrc
使其生效
1 |
|
- 验证
gcc -v
验证当前 gcc 版本,which gcc
查看其路径
踩坑
make 编译的时候遇到 fatal error No space left on device 的错误,参考 stackoverflow 上这个问题的解决方法,在终端中执行 export TMPDIR=~/tmp
后解决了
安装 CMake
CMake 的安装比起 GCC 简单许多因为少了编译的过程,也就少了潜在的报错的机会哈哈哈哈
步骤
- 下载
当前最新版本是 3.23.0-rc3。在这里找到想要的版本然后下载并解压
wget https://github.com/Kitware/CMake/releases/download/v3.23.0-rc3/cmake-3.23.0-rc3.tar.gz
tar -zxvf cmake-3.23.0-rc3.tar.gz
-
设置用户环境变量
在 ~/.bashrc 中加上export PATH=/home/dongyang/env_of_flash/cmake-3.23.0-rc3/bin:$PATH
然后在终端运行source ~/.bashrc
使其生效 -
验证
cmake --version
查看当前 CMake 版本;which cmake
查看可执行文件所在路径
参考
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!