编译安装GCC以使用C++新特性

编译安装GCC以使用C++新特性

  • 1. 安装依赖
  • 2. 下载GCC
  • 3. 编译安装
  • 4. 多版本GCC选择
    • 4.1 指定GCC路径
    • 4.2 指定libstdc++.so路径

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. 编译安装

  1. 解压后创建文件夹build,在创建的文件夹内执行命令:
../configure --prefix=/home/name/software/gcc920 --enable-multilib
  • –prefix:指定安装位置。
  • –enable-multilib:添加32位支持。
  1. 分别使用makemake install编译、安装。

4. 多版本GCC选择

4.1 指定GCC路径

  1. 用环境变量指定GCC位置:
export CC=/home/name/software/gcc920/bin/gcc
export CXX=/home/name/software/gcc920/bin/g++

  可以在终端输入上面两条命令,临时指定GCC路径;也可以把这两条命令放入/home/name/.bashrc文件中永久指定GCC路径。

  1. 在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路径

  1. 用环境变量指定libstdc++.so位置:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/name/software/gcc920/lib64
  1. 在CMake中指定libstdc++.so位置:
link_directories(${gcc_DIR}/lib64)

你可能感兴趣的:(C++)