wve

导航

ubuntu 12.04编译android包错误解决

在ubuntu12.04 上编译android包时出现如下错误:

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

sudo apt-get install gcc-4.4

sudo apt-get install g++-4.4

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

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

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

这样就可以正常编译了。

 

ebuilt/linux-x86/sdl/include/SDL/SDL_syswm.h:55: fatal error: X11/Xlib.h: No such file or directory
compilation terminated.

 

target thumb C: libext <= out/target/product/generic/obj/STATIC_LIBRARIES/libext_intermediates/libxt_CONNMARK.c
target thumb C: libext <= out/target/product/generic/obj/STATIC_LIBRARIES/libext_intermediates/libxt_CONNSECMARK.c
target thumb C: libext <= out/target/product/generic/obj/STATIC_LIBRARIES/libext_intermediates/libxt_conntrack.c
In file included from out/target/product/generic/obj/STATIC_LIBRARIES/libext_intermediates/libxt_CONNMARK.c:26:0:
external/iptables/extensions/../include/linux/netfilter/xt_CONNMARK.h:4:41: fatal error: linux/netfilter/xt_connmark.h: No such file or directory
compilation terminated.
make: *** [out/target/product/generic/obj/STATIC_LIBRARIES/libext_intermediates/libxt_CONNMARK.o] Error 1
make: *** Waiting for unfinished jobs....

软件包中缺少文件 xt_connmark.h。要避免在windows下解压软件包,解决办法重新下载文件后编译。

 

 

posted on 2012-08-01 15:40  wve  阅读(674)  评论(0)    收藏  举报