编译安装GCC以使用C++新特性
1. 安装依赖
sudo apt-get install libgmp10 libgmp-dev
sudo apt-get install libmpfr4
sudo apt-get install libmpc-dev
sudo apt-get install flex bison
sudo apt-get install g++-multilib
其中g++-multilib是为了添加32位支持。
2. 下载GCC
可以从GCC官网的镜像列表下载,没有中国镜像,推荐使用Russia, Novosibirsk。也可以从github下载。
3. 编译安装
- 解压后创建文件夹build,在创建的文件夹内执行命令:
../configure --prefix=/home/name/software/gcc920 --enable-multilib
- –prefix:指定安装位置。
- –enable-multilib:添加32位支持。
- 分别使用make和make install编译、安装。
4. 多版本GCC选择
4.1 指定GCC路径
- 用环境变量指定GCC位置:
export CC=/home/name/software/gcc920/bin/gcc
export CXX=/home/name/software/gcc920/bin/g++
可以在终端输入上面两条命令,临时指定GCC路径;也可以把这两条命令放入/home/name/.bashrc文件中永久指定GCC路径。
- 在CMake中指定GCC位置:
set(gcc_DIR /home/name/software/gcc920)
set(CMAKE_C_COMPILER ${gcc_DIR}/bin/gcc)
set(CMAKE_CXX_COMPILER ${gcc_DIR}/bin/g++)
4.2 指定libstdc++.so路径
- 用环境变量指定libstdc++.so位置:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/name/software/gcc920/lib64
- 在CMake中指定libstdc++.so位置:
link_directories(${gcc_DIR}/lib64)