Ubuntu 11.10编译Android 错误

      由于在使用Ubuntu 11.04时系统老是死机,在忍无可忍的情况下决定升级到11.10。不过在升级完成后发现编译android出现错误(之前是OK的),具体错误和解决办法如下:

问题1:

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 11.10的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++

问题2:

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

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

经过此操作编译可顺利进行。

你可能感兴趣的:(Ubuntu 11.10编译Android 错误)