繁体   English   中英

ubuntu 11.10上的android build错误

[英]android build error on ubuntu 11.10

尝试在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]

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

使: *等待未完成的工作。

我通过修改解决了

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'

make: * [out / host / linux-x86 / obj / STATIC_LIBRARIES / libutils_intermediates / Asset.o]错误1 make:*等待未完成的作业。

g ++:错误:无法识别的选项'--fpermissive'g ++:错误:无法识别的选项'--fpermissive'

make: * [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,但没有任何效果,请帮我摆脱过去的一天

用来建立,

$。 build / 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 ++ ,去--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.6 --libdir = / usr / lib --enable-nls --with-sysroot = /-启用-clocale = gnu --enable-libstdcxx-debug --enable-libstdcxx-time = yes --enable-plugin --enable-objc-gc --enable-targets = all --disable-werror --with-arch- 32 = i686 --with-tune =泛型--enable-checking = release --build = i686-linux-gnu --host = i686-linux-gnu --target = i686-linux-gnu线程模型:posix gcc版本4.6.1(Ubuntu / Linaro 4.6.1-9ubuntu3)

-------------------------------------------------- --------------编辑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

我已经尝试过此解决方案,它解决了您提到的问题: 如何解决GCC 4.6与Android 2.3(Gingerbread)之间的不兼容问题

但是,毕竟编译后我无法链接。 我正在Linux Mint上用gcc-4.6编译2.2。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM