Ubuntu11.10编译android2.2时的编译器版本问题4.6/4.4

ubuntu11.10自带的gcc/g++都是4.6的版本的

编译android2.2的时候,用的是4.4的版本,否则编译不过

比如g++部分会出现


frameworks/base/libs/utils/RefBase.cpp: 在成员函数‘void android::RefBase::weakref_type::trackMe(bool, bool)’中:
frameworks/base/libs/utils/RefBase.cpp:483:67: 错误: 将‘const android::RefBase::weakref_impl’作为‘void android::RefBase::weakref_impl::trackMe(bool, bool)’的‘this’实参时丢弃了类型限定 [-fpermissive]
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/RefBase.o] 错误 1

这种错误。

还有要多装一个包 sudo apt-get install g++-4.4-multilib

否则会出现

g++: 错误: –fpermissive:没有那个文件或目录
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/RefBase.o] 错误 1

用apt-get install xxx 安装好了4.4之后系统中就存在着2个版本的编译器了,一个4.6的 一个4.4的

更换的方法如下,使用了update-alternatives工具,是debian的

用gcc举例子

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 40

之类的,更换后面的参数 gcc-4.6 60 / g++-4.4 40 / g++-4.6 60

然后选择

sudo update-alternatives --config gcc / g++ 分两次配置

会出来字符菜单供选择,选择需要的版本就好了

最后可以检查一下版本号对了没有

gcc -version / g++ -version

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值