[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++

时间: 2024-12-15 18:01:46

[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 --ve

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

操作系统:CentOS release 6.5 (Final) 当前gcc版本号:build=x86_64-redhat-linux ? ? ? ? ? ? ? ? ? ? ? ? ? Thread model: posix? ? ? ? ? ? ? ? ? ? ? ? ? gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) 待安装gcc版本号:gcc-4.8.5.tar.gz 编译新版本号的gcc之前,必须确保系统中已经安装了低版本号的gcc

详解java中CAS机制所导致的问题以及解决——内存顺序冲突

[CAS机制] 指的是CompareAndSwap或CompareAndSet,是一个原子操作,实现此机制的原子类记录着当前值的在内存中存储的偏移地址,将内存中的真实值V与旧的预期值A做比较,如果不一致则说明内存中的值被其他线程修改过了,返回false,否则将新值B存入内存. Java内部是使用本地调用类unsafe实现的. Java原子类底层原理就是采用CAS机制. 可能会出现什么问题 aba问题: 线程1取出A之后被阻塞了,此时线程2把内存中A改为B,一系列操作后又改为A,此时线程1恢复执行

如何解决Wordpress插件冲突的问题

之前有一篇文章介绍了如何判断依附插件是否被启用的问题(例如,在作为WooCommerce扩展的插件中,就要判断当前网站的Woocommerce是否启用了),文章链接:http://suoling.net/is_woocommerce_activated/现在开始说正事儿:首先,我们要引入一个Wordpress核心文件:    /*  避免 current_user_can 不可用的问题 */    if ( !function_exists( 'wp_get_current_user' ) )

Couldn't resolve host 'mirrorlist.centos.org'解决办法

今天在服务器上安装oneinstack时, 输入命令: wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz 出现: Couldn't resolve host 'mirrorlist.centos.org' 无法解析 解决方法: [[email protected] ~]# vim /etc/resolv.conf nameserver 8.8.8.8 就好了. 不要怕问题,所有的问题,都是让你收获答案来的. ----------  招

Maven 解决JAR包冲突

在JAR 冲突的情况下, 利用Eclipse方式解决JAR包冲突时比较方便简洁的,步骤如下 1. 在Eclipse 中打开pom.xml , 选择  “Dependency  Hierarchy” 2, 在Filter 输入框中,输入冲突的jar,  比如: slf4j 3. 右边会显示所有依赖此包的JAR包 4.  如果你需要排除 冲突, 可以右键单击: 选择  exclude Maven artifact... 进行以上操作后, MAVEN 的依赖关系如下(举列如下:) 排除前: <depe

sbt发布assembly解决jar包冲突问题 deduplicate: different file contents found in the following

一.问题定义 最近在用sbt打assembly包时出现问题,在package的时候,发生jar包冲突/文件冲突问题,两个相同的class来自不同的jar包在classpath内引起冲突. 具体是:我有一个self4j的jar, 还有一个hadoop-common-hdfs的jar包,其中hadoop-common-hdfs.jar内包含了self4j这个jar包,导致冲突. 此类异常一般是由于打包不规范和打包疏忽引起的. (个人认为正确的打包策略是:只打包自己核心功能,不将依赖打包在一起,但是有

算法学习 - HashTable开放地址法解决哈希冲突

开放地址法解决哈希冲突 线性开放地址法 线性开放地址法就是在hash之后,当发现在位置上已经存在了一个变量之后,放到它下一个位置,假如下一个位置也冲突,则继续向下,依次类推,直到找到没有变量的位置,放进去. 平方开放地址法 平方地址法就是在hash之后,当正确位置上存在冲突,不放到挨着的下一个位置,而是放到第2^0位置,假如继续冲突放到2^1的位置,依次2^3... 直到遇到不冲突的位置放进去. 双散列开放地址法 双散列同上,不过不是放到2^的位置,而是放到key - hash(key, tab

算法学习 - Hash Table操作,分离链接法解决哈希冲突

分离链接法 hash table是映射机制的,最大的优点就是它的操作是O(1)级别的.但是会出现哈希冲突,这就需要几种办法来解决.这里先说一种:分离链接法. 就是当插入的位置已经存在一个值之后,那么在这个值之后插入,就可以了,也叫拉链法.(但是其实会降低查找速度,变成O(n)级别) 下面是代码: // // main.cpp // HashTable_SeparateChaining // // Created by Alps on 14-8-5. // Copyright (c) 2014年