首页 > 代码库 > [CentOS]怎样解决gcc版本号冲突?
[CentOS]怎样解决gcc版本号冲突?
今天碰到一个比較坑爹的问题。在centos上用yum安装编译环境,执行:
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
结果导致编译cocos2d-x出现错误:
cc1plus: error: unrecognized command line option "-std=c++11"
我google了一番,确定这个错误是因为gcc的版本号过低造成的
查看gcc版本号:
gcc --version
系统显示:
gcc (GCC) 4.8.2
我又google一番。确定这个版本号能够支持c++11
可是cocos2d-x的编译错误确实是执行了yum命令以后才出现的
我全局搜了一下gcc:
find / -name gcc
有这么多gcc:
/usr/lib/gcc
/usr/local/lib/gcc
/usr/local/bin/gcc
/usr/local/libexec/gcc
/usr/bin/gcc
再执行:
/usr/bin/gcc --version
gcc (GCC) 4.4.7-4
/usr/local/bin/gcc --version
gcc (GCC) 4.8.2
看来,这个机器上确实有两个gcc,shell跑的是/usr/local/bin/gcc,可是cocos2dx make时用的是/usr/bin/gcc(为什么路径会不一致。原因还不清楚)
解决的办法是,执行;
mv /usr/bin/gcc /usr/bin/gcc4.4.7
ln -s /usr/local/bin/gcc /usr/bin/gcc
另外。g++, cc, c++这几个命令也要改
mv /usr/bin/g++ /usr/bin/g++4.4.7
ln -s /usr/local/bin/g++ /usr/bin/g++
mv /usr/bin/cc /usr/bin/cc4.4.7
ln -s /usr/local/bin/cc /usr/bin/cc
mv /usr/bin/c++ /usr/bin/c++4.4.7
ln -s /usr/local/bin/c++ /usr/bin/c++
[CentOS]怎样解决gcc版本号冲突?