ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:20.07KB ,
资源ID:5769385      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5769385.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Android 4编译错误汇总.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Android 4编译错误汇总.docx

1、Android 4编译错误汇总2.Q:frameworks/base/libs/utils/RefBase.cpp:483:67: error: passing const android:RefBase:weakref_impl as this argument of void android:RefBase:weakref_impl:trackMe(bool, bool) discards qualifiers -fpermissive make: * out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_intermediates/RefBas

2、e.o Error 1解决方法:$ gedit frameworks/base/libs/utils/Android.mk修改以下语句LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS)为LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) fpermissive3.Q:arm-eabi-gcc: error trying to exec cc1: execvp: No such file or directorymake: * out/target/product/generic/obj/lib/

3、crtbegin_dynamic.o Error 1如果之前的依赖包都已经安装成功的话,此处应该是交叉编译工具权限的问题。这个问题只要在文章开头lunch时执行了赋予权限命令,就应该不会遇到了。4.Q::0:0: error: _FORTIFY_SOURCE redefined -Werror :0:0: note: this is the location of the previous definition cc1plus: all warnings being treated as errorsmake: * out/host/linux-x86/obj/EXECUTABLES/obbt

4、ool_intermediates/Main.o Error 1此处编译错误是由于ubuntu 11.10采用了GCC4.6.1导致的。解决方法:修改源码目录下/build/core/combo/HOST_linux-x86.mk文件:将以下语句HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0修改为HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0make: * out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/slang_

5、rs_export_foreach.o 错误 1解决办法是:找到frameworks/compile/slang/slang_rs_export_foreach.cpp:的247行,并将本行注释掉即可继续编译。make: * out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o Error 1后来发现了,原来是Ubuntu11.10里的gcc和g+版本太高了,于是执行下面的操作:sudo apt-get install gcc-4.4sudo apt-get install g+-4.4sudo rm -rf /usr/

6、bin/gcc /usr/bin/g+sudo ln -s /usr/bin/gcc-4.4 /usr/bin/gccsudo ln -s /usr/bin/g+-4.4 /usr/bin/g+把默认的4.6版本换为了4.4,继续编译源码,又出现了另一个错误,大致提示为:g+ selected multilib 32 not installed继续奋战吧,安装相应的工具吧:sudo apt-get install g+-4.4-multilib,现在正在make -j8在我的i5/4G机子里跑着。make: * out/host/linux-x86/obj/STATIC_LIBRARIES/l

7、ibMesa_intermediates/src/glsl/linker.o Error 1解决这个问题需要修改文件如下:把 #include 添加到 linker.cpp 文件头部。这样就可以编译完成了。1.错误一:error: ptrdiff_t does not name a typeIn file included from external/gtest/src/./include/gtest/gtest-param-test.h:157:0, from external/gtest/src/./include/gtest/gtest.h:69, from external/gtest

8、/src/gtest_main.cc:32:external/gtest/src/./include/gtest/internal/gtest-param-util.h:122:11: error: ptrdiff_t does not name a typeIn file included from external/gtest/src/./include/gtest/gtest-param-test.h:157:0, from external/gtest/src/./include/gtest/gtest.h:69, from external/gtest/src/./src/gtest

9、.cc:34, from external/gtest/src/gtest-all.cc:36:external/gtest/src/./include/gtest/internal/gtest-param-util.h:122:11: error: ptrdiff_t does not name a typeIn file included from external/gtest/src/gtest-all.cc:38:0:解决方法:$vi external/gtest/src/./include/gtest/internal/gtest-param-util.h#include 2.错误二

10、:undefined reference to pthread_mutexattr_destroyhost C+: libgtest_host = external/gtest/src/gtest-all.cctruehost C+: libgtest_main_host = external/gtest/src/gtest_main.ccout/host/linux-x86/obj/STATIC_LIBRARIES/libLLVMSupport_intermediates/libLLVMSupport.a(Signals.o): In function PrintStackTrace:/ho

11、me/aa/project/android4.0.1/external/llvm/lib/Support/Unix/Signals.inc:219: undefined reference to dladdr/home/aa/project/android4.0.1/external/llvm/lib/Support/Unix/Signals.inc:231: undefined reference to dladdrout/host/linux-x86/obj/STATIC_LIBRARIES/libLLVMSupport_intermediates/libLLVMSupport.a(Thr

12、eading.o): In function llvm:llvm_execute_on_thread(void (*)(void*), void*, unsigned int):/home/aa/project/android4.0.1/external/llvm/lib/Support/Threading.cpp:96: undefined reference to pthread_create/home/aa/project/android4.0.1/external/llvm/lib/Support/Threading.cpp:91: undefined reference to pth

13、read_attr_setstacksize/home/aa/project/android4.0.1/external/llvm/lib/Support/Threading.cpp:100: undefined reference to pthread_joinout/host/linux-x86/obj/STATIC_LIBRARIES/libLLVMSupport_intermediates/libLLVMSupport.a(Mutex.o): In function MutexImpl:/home/aa/project/android4.0.1/external/llvm/lib/Su

14、pport/Mutex.cpp:69: undefined reference to pthread_mutexattr_init/home/aa/project/android4.0.1/external/llvm/lib/Support/Mutex.cpp:75: undefined reference to pthread_mutexattr_settype/home/aa/project/android4.0.1/external/llvm/lib/Support/Mutex.cpp:80: undefined reference to pthread_mutexattr_setpsh

15、ared/home/aa/project/android4.0.1/external/llvm/lib/Support/Mutex.cpp:89: undefined reference to pthread_mutexattr_destroyout/host/linux-x86/obj/STATIC_LIBRARIES/libLLVMSupport_intermediates/libLLVMSupport.a(Mutex.o): In function llvm:sys:MutexImpl:tryacquire():/home/aa/project/android4.0.1/external

16、/llvm/lib/Support/Mutex.cpp:143: undefined reference to pthread_mutex_trylockcollect2: ld returned 1 exit statusmake: * out/host/linux-x86/obj/EXECUTABLES/test-librsloader_intermediates/test-librsloader Error 1make: * Waiting for unfinished jobs.解决方法:$vi external/llvm/llvm-host-build.mkLOCAL_LDLIBS

17、:= -lpthread -ldl下面这个解决方法没成功,会有新的错误:errors again :cant find threads.h file or dir.$ vi external/llvm/lib/Support/Android.mkLOCAL_C_INCLUDES += system/core/include/cutilsLOCAL_SHARED_LIBRARIES := libcutil$ vi external/llvm/lib/Support/Mutex.cpp#include $ vi external/llvm/lib/Support/Threading.cpp#inc

18、lude 3.错误三:error: variable ParamName set but not used -Werror=unused-but-set-variableframeworks/compile/slang/slang_rs_export_foreach.cpp:247:23: error: variable ParamName set but not used -Werror=unused-but-set-variablecc1plus: all warnings being treated as errors解决方法:$ vi frameworks/compile/slang/

19、Android.mk #local_cflags_for_slang := -Wno-sign-promo -Wall -Wno-unused-parameter -Werrorlocal_cflags_for_slang := -Wno-sign-promo -Wall -Wno-unused-parameter本文介绍在ubuntu 11.10系统下编译android 2.3.3源码,编译之前请确定上两篇文章(准备工作完成后,开始编译工作。下载下来的源码有5G多,如果按照我之前写的获取源码的话,源码目录为/Android/source一、环境设置waynewayne-pc:/Android

20、/source$ source build/envsetup.sh including device/htc/passion/vendorsetup.shincluding device/samsung/crespo/vendorsetup.shwaynewayne-pc:/Android/source$ lunch full-eng在lunch时,如果提示permission denied权限不够的话,需要在源码根目录下执行,赋予目录下所有文件权限waynewayne-pc:/Android/source$ sudo chmod -R 777 *这时候会lunch指令会打印出如下所示文段:=

21、PLATFORM_VERSION_CODENAME=RELPLATFORM_VERSION=2.3.3TARGET_PRODUCT=fullTARGET_BUILD_VARIANT=engTARGET_SIMULATOR=falseTARGET_BUILD_TYPE=releaseTARGET_BUILD_APPS=TARGET_ARCH=armHOST_ARCH=x86HOST_OS=linuxHOST_BUILD_TYPE=releaseBUILD_ID=GRI40=一、开始编译编译过程可能会出现许多错误而中止,在此wayne将会把所有遇到的问题以及解决方法一一贴出来,以供以后参考。1.Q

22、:waynewayne-pc:/Android/source$ make -j2=PLATFORM_VERSION_CODENAME=RELPLATFORM_VERSION=2.3.3TARGET_PRODUCT=fullTARGET_BUILD_VARIANT=engTARGET_SIMULATOR=falseTARGET_BUILD_TYPE=releaseTARGET_BUILD_APPS=TARGET_ARCH=armHOST_ARCH=x86HOST_OS=linuxHOST_BUILD_TYPE=releaseBUILD_ID=GRI40=Checking build tools

23、versions.build/core/main.mk:76: *build/core/main.mk:77: You are attempting to build on a 32-bit system.build/core/main.mk:78: Only 64-bit build environments are supported beyond froyo/2.2.build/core/main.mk:79: *build/core/main.mk:80: * stop。 停止。解决方法:cd到源码根目录,执行:$ gedit build/core/main.mk找到ifneq (64

24、,$(findstring 64,$(build_arch)将其修改为ifneq (i686,$(findstring i686,$(build_arch)然后依次修改以下四个make文件:external/clearsilver/cgi/Android.mkexternal/clearsilver/java-jni/Android.mkexternal/clearsilver/util/Android.mkexternal/clearsilver/cs/Android.mk将其中的LOCAL_CFLAGS += -m64LOCAL_LDFLAGS += -m64修改为LOCAL_CFLAGS

25、 += -m32LOCAL_LDFLAGS += -m322.Q:frameworks/base/libs/utils/RefBase.cpp:483:67: error: passing const android:RefBase:weakref_impl as this argument of void android:RefBase:weakref_impl:trackMe(bool, bool) discards qualifiers -fpermissive make: * out/host/linux-x86/obj/STATIC_LIBRARIES/libutils_interm

26、ediates/RefBase.o Error 1解决方法:$ gedit frameworks/base/libs/utils/Android.mk修改以下语句LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS)为LOCAL_CFLAGS += -DLIBUTILS_NATIVE=1 $(TOOL_CFLAGS) fpermissive3.Q:arm-eabi-gcc: error trying to exec cc1: execvp: No such file or directorymake: * out/target/product/ge

27、neric/obj/lib/crtbegin_dynamic.o Error 1如果之前的依赖包都已经安装成功的话,此处应该是交叉编译工具权限的问题。这个问题只要在文章开头lunch时执行了赋予权限命令,就应该不会遇到了。4.Q::0:0: error: _FORTIFY_SOURCE redefined -Werror :0:0: note: this is the location of the previous definition cc1plus: all warnings being treated as errorsmake: * out/host/linux-x86/obj/EX

28、ECUTABLES/obbtool_intermediates/Main.o Error 1此处编译错误是由于ubuntu 11.10采用了GCC4.6.1导致的。解决方法:修改源码目录下/build/core/combo/HOST_linux-x86.mk文件:将以下语句HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0修改为HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0编译时还有可能出现类似的错误,根据错误提示的关键词比如g+错误、jre错误等,都是些细节问题,比较好解决。经过两小时左右

29、的等待后,终于顺利完成。编译成功后会生成system.img等镜像文件,下面是编译完成提示:Target system fs image: out/target/product/generic/obj/PACKAGING/systemimage_intermediates/system.imgInstall system fs image: out/target/product/generic/system.imgInstalled file list: out/target/product/generic/installed-files.txt三、启动所编译的系统编译完之后会在out/target/product/generic目录下生成system.img ramdisk.img userdata.img三个镜像文件。在启动模拟器之前,需要先为模拟器系统设置环境变量,执行gedit /.bashrc,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1