Ubuntu12.04编译Android 错误(飞凌6410)

按照文档修改了:

由于ubuntu12.04 用的gcc 是4.6 的版本,如果使用Ubuntu 12.04 编译需要修改代码:
build/core/combo/HOST_linux-x86.mk

-HOST_GLOBAL_CFLAGS+=-D_FORTIFY_SOURCE=0
+HOST_GLOBAL_CFLAGS+=-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
frameworks/base/libs/utils/Android.mk
-LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS)
+LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) –fpermissive


还是出现错误:

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

原因:Ubuntu 12.04的gcc 4.6版本太高了,android编译需要gcc 4.4

解决办法:更换gcc、g++版本4.6为4.4

                         apt-get install gcc-4.4

                         apt-get install g++-4.4

                          rm -rf /usr/bin/gcc /usr/bin/g++

                          ln -s /usr/bin/gcc-4.4 /usr/bin/gcc

                          ln -s /usr/bin/g++-4.4 /usr/bin/g++

错误2:

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

解决办法:apt-get install g++-4.4-multilib

编译通过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值