4

尝试在 ubuntu 11.10 上构建 android 2.3 时遇到问题

第一个错误 -

frameworks/base/libs/utils/RefBase.cpp:483:67: 错误:将 'const android::RefBase::weakref_impl' 作为 'void android::RefBase::weakref_impl::trackMe(bool, bool)' 丢弃限定符 [-fpermissive]

制作:* [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/RefBase.o] 错误 1

make: *等待未完成的工作......

我通过修改解决了这个问题,

frameworks/base/libs/utils/Android.mk LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) -fpermissive

但是做了上面的修改之后,又出现了新的错误,

主机 SharedLib: libneo_cgi (out/host/linux-x86/obj/lib/libneo_cgi.so)

宿主 C++:libutils <= frameworks/base/libs/utils/Asset.cpp

宿主 C++:libutils <= frameworks/base/libs/utils/AssetDir.cpp

宿主 C++:libutils <= frameworks/base/libs/utils/AssetManager.cpp

g++:错误:无法识别的选项'--fpermissive'</p>

make: * [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/Asset.o] 错误 1 ​​make: * Waiting for unfinished jobs....

g++:错误:无法识别的选项“--fpermissive” g++:错误:无法识别的选项“--fpermissive”</p>

制作:* [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/AssetDir.o] 错误 1

制作:* [out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/AssetManager.o]

构建配置: Ubuntu 11.10 尝试了 gcc 版本 4.4 和 4.6 但没有任何结果,请帮助我摆脱过去一天的挣扎

用于构建的命令选项,

美元。构建/envsetup.sh

$午餐 1

$make -j4

GCC - 版本

gcc -v 使用内置规范。COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/i686-linux-gnu/4.6.1/lto-wrapper 目标:i686-linux-gnu 配置:../src/configure -v --with-pkgversion=' Ubuntu/Linaro 4.6.1-9ubuntu3' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ ,go --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included -gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.

-------------------------------------------------- -------------- 编辑 2-

我认为这是 gcc 版本的问题,而不是以更好的速度移动,但现在我收到了这个错误 - cmd -make CC=gcc-4.4 CXX=g++-4.4

错误 -host SharedLib: libneo_cgi (out/host/linux-x86/obj/lib/libneo_cgi.so) /usr/bin/ld: cannot find -lz collect2: ld returned 1 exit status make: *** [out/host/linux-x86/obj/lib/libneo_cgi.so] Error 1

4

1 回答 1

2

我已经尝试过这个解决方案,它解决了你提到的问题:How to fix problem of incompatibility between GCC 4.6 and Android 2.3 (Gingerbread)

但是,编译后我无法链接。我在 linux mint 上用 gcc-4.6 编译 2.2。

无论如何它应该可以帮助你。

于 2012-01-14T10:43:03.237 回答