[CentOS]怎样解决gcc版本号冲突?

Posted cynchanpin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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版本号冲突?的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 6.x安装多GCC版本号,cmake的安装与使用

大厂面试必问!HashMap 怎样解决hash冲突?

CentOS6.3升级GCC到GCC4.8.2

一点解决版本冲突的应急思路怎样在所有jar包文件中搜索冲突的方法?

jquery更新后怎样在一个站点中使用两个版本号的jQuery

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段