NVIDIA/Apex安装时遇到 C++编译:unrecognized command line option ‘-std=c++14’ 错误解决

0、问题

编译安装apex的时候,报错C++编译:unrecognized command line option ‘-std=c++14’,后面紧跟着ninja也没有编译成功。发现是编译器版本太老(gcc-4.8.5)外加没有设置CC环境变量。

对于C++14:
    gcc5就可以完全支持,gcc4部分支持,gcc3及以下版本不支持。

既然4.8.5不支持c++14,就重新编译了g++呗。

1、解决的环境版本依赖

原本的环境配置:

操作系统环境是:tlinux2.2-64bit-4.14.105-1.0011

g++版本为:gcc version 4.8.5

cmake版本为:cmake version 2.8.12.2

升级后的环境配置:

g++版本为:gcc version 5.2.0

cmake版本为:cmake version 2.8.12.2

2、具体步骤

1. 升级gcc版本为 5.2.0

//查看默认位置
which gcc
which g++
//下载对应版本
cd /usr/lacal/src
wget http://ftp.gnu.org/gnu/gcc/gcc-5.2.0/gcc-5.2.0.tar.bz2
tar -jxvf gcc-5.2.0.tar.bz2
//进入gcc目录安装
cd gcc-5.2.0
./contrib/download_prerequisites
//编译
mkdir build
cd build
../configure --prefix=/usr/local/gcc --enable-languages=c,c++ --disable-multilib
make -j8  //编译安装,此过程耗时较长
make install
//修改软连接
mv /usr/bin/gcc /usr/bin/gcc_old
ln -s /usr/local/gcc/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++_old
ln -s /usr/local/gcc/bin/g++ /usr/bin/g++
//查看升级后版本
gcc --verson
g++ --version

vi ~/.bashrc
//在文件末尾追加以下代码
export CC="/usr/bin/gcc"
export CXX="/usr/bin/g++"

2. 根据需求升级cmake版本为 3.17.5

mkdir /home//tools
cd /home//tools
wget https://github.com/Kitware/CMake/releases/download/v3.17.5/cmake-3.17.5-Linux-x86_64.sh
./cmake-3.17.5-Linux-x86_64.sh
vi /etc/profile 
//在文件末尾追加以下代码
export PATH=$PATH:/home//tools/cmake-3.17.5-Linux-x86_64/bin
//检查cmake安装
cmake --version

 

你可能感兴趣的:(原创,问题解决,C/C++)