在进行Ubuntu 64位系统下Android源代码的编译过程中,可能会遭遇一系列技术障碍,以下将详述在Ubuntu 11.04(64位)编译Android 2.3源码时常见的错误及其解决方案,以帮助开发者顺利通过这些难关。 ### 错误一:`/usr/include/gnu/stubs.h:7:27:error: gnu/stubs-32.h: No such file or directory` #### 解决方案: 此错误通常表明系统缺少i386架构的库文件支持。可以通过安装`libc6-dev-i386`来解决这一问题。 ```bash sudo apt-get install libc6-dev-i386 ``` 该命令会安装必要的32位C库开发文件,使编译器能够识别并处理32位架构的依赖。 ### 错误二:`make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] Error 1` #### 解决方案: 当遇到此类编译错误时,可能是因为缺少多架构支持的编译器组件。使用`g++-multilib`可以为GCC添加对不同架构的支持,确保所有架构的编译需求得到满足。 ```bash sudo apt-get install g++-multilib ``` 这将安装支持多种架构的C++编译器组件,有助于解决跨平台编译中的常见问题。 ### 错误三:`external/clearsilver/cgi/cgi.c:22: fatal error: zlib.h: No such file or directory` #### 解决方案: 缺失`zlib.h`头文件通常是由于未安装`zlib1g-dev`开发包导致的。安装它可解决编译过程中对zlib库的需求。 ```bash sudo apt-get install zlib1g-dev ``` 此命令将安装zlib库的开发文件,确保编译过程能够找到所需的`zlib.h`头文件。 ### 错误四:`/usr/bin/ld: cannot find -lz` #### 解决方案: 该错误提示ld链接器未能找到zlib库,可通过安装`lib32z1-dev`来解决。 ```bash sudo apt-get install lib32z1-dev ``` 此命令将安装32位版本的zlib库开发文件,满足链接器对zlib库的需求。 ### 错误五:`bison: command not found` #### 解决方案: `bison`是GNU的语法分析器生成器,用于处理语法解析任务。如果系统中未安装`bison`,将无法正常编译某些源代码。 ```bash sudo apt-get install bison ``` 安装`bison`后,即可正常使用其提供的语法分析功能,避免因缺失此工具而导致的编译错误。 ### 错误六:`flex: command not found` #### 解析方案: 与`bison`类似,`flex`是一个词法分析器生成器,用于构建词法解析器。安装`flex`可解决编译时的缺失工具问题。 ```bash sudo apt-get install flex ``` 通过上述命令,可以确保编译过程中词法分析任务的顺利执行。 ### 错误七:`/usr/bin/ld: cannot find -lncurses` #### 解决方案: 当链接器未能找到`ncurses`库时,可通过安装`lib32ncurses5-dev`来解决。 ```bash sudo apt-get install lib32ncurses5-dev ``` 安装此包将提供必要的`ncurses`库开发文件,确保编译过程正确链接到`ncurses`库。 ### 错误八:`X11/Xlib.h: No such file or directory` #### 解决方案: 若编译过程中报错找不到`X11/Xlib.h`头文件,通常是因为未安装`X11`相关的开发库。 ```bash sudo apt-get install libx11-dev ``` 通过安装`libx11-dev`,可以获取`X11`开发环境所需的所有头文件和库文件,解决编译时的依赖问题。 ### 错误九:`sh: gperf: not found` #### 解决方案: `gperf`是一个通用的性能优化工具,用于生成高性能的查找表。如果编译过程中出现`gperf`未找到的错误,可以尝试安装`gperf`。 ```bash sudo apt-get install gperf ``` 安装`gperf`后,即可避免因缺少此工具而引发的编译错误,确保编译流程的完整性。 通过上述步骤,大多数在Ubuntu 64位环境下编译Android源码时遇到的常见错误均可得到妥善解决。然而,鉴于Android源码的复杂性,实际编译过程中可能还会遇到其他类型的错误或警告,开发者应持续关注编译日志,灵活运用相关工具和资源,不断调试直至成功完成编译。
错误:
/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp.o] 错误 1
解决:
sudo apt-get install libc6-dev-i386
错误:
make: *** [out/host/linux-x86/obj/EXECUTABLES/acp_intermediates/acp] error 1
解决:
sudo apt-get install g++-multilib
错误:
external/clearsilver/cgi/cgi.c:22: fatal error: zlib.h: No such file or directory
compilation terminated.
make: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libneo_cgi_intermediates/cgi.o] Error 1
解决:
sudo apt-get install zlib1g-dev
错误:
/usr/bin/ld: cannot find -lz
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt] Error 1
解决:
- lh05932012-12-03不错的文档
- carusliu2013-12-11文档还可以,可以参考
- 粉丝: 1
- 资源: 12
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助