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/<user>/tools
cd /home/<user>/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/<user>/tools/cmake-3.17.5-Linux-x86_64/bin
//检查cmake安装
cmake --version
版权声明:本文为jolinxia原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。