注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

时间记录器

记录我的Linux、Android学习之路

 
 
 

日志

 
 

android源码编译出错的原因  

2012-06-06 13:43:14|  分类: Android |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

http://mips.eefocus.com/article/10-08/1968501281667658.html

(1)gcc的版本过高,由于android源码编译要求为4.3,如果你的gcc版本为4.4,那你的编译可能会失败的!我的系统是ubuntu 10.04,默认的gcc版本为4.4,gcc-4.4太严格,那么怎样从gcc-4.4降到gcc- 4.3呢?

1、安装gcc-4.3
$ sudo apt-get install gcc-4.3 g++-4.3
2、修gcc相关链接
$ cd /usr/bin
$sudo ln -snf gcc-4.3 gcc
$sudo ln -snf g++-4.3 g++
$sudo ln -snf cpp-4.3 cpp
3、如是64bit系统,则还需装如下包。
$ sudo apt-get install g++-multilib g++-4.3-multilib

注:Android1.6 用gcc-4.4.3编译时会出现如下错误。
error.o out/host/linux-x86/obj/STATIC_LIBRARIES/libtinyxml_intermediates/tinystr.o
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.3.4/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.3.4/libstdc++.a when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.3.4/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.3.4/libstdc++.a when searching for -lstdc++
/usr/bin/ld: cannot find -lstdc++
这时只要照我上面操作,将gcc-4.4.3降到gcc-4.3即可。
经过验证,即使降到gcc-4.3后android2.1或高通(android)的其它代码编译也均正常!!!

(2)android源码编译对jdk也有特定的要求,一般情况下在jdk1.5下可以成功编译!1.6下好像编译出错,那么怎样ubuntu9.10版本及以上版本安装jdk1.5呢?

安装jdk-1.5, 在ubuntu 9.10上默认的是jdk1.6, 所以用 sudo apt-get install sun-java5-jdk 会提示找不到相应的软件包

解决办法: 将9.10的源替换成9.04的源

sudo -i
cd /etc/apt/
cp sources.list sources.list_bak
gedit sources.list

将该文件的内容全部替换成如下:
deb http://run.hit.edu.cn/ubuntu/ jaunty main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ jaunty main restricted universe multiverse
deb http://run.hit.edu.cn/ubuntu/ jaunty-updates main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ jaunty-updates main restricted universe multiverse
deb http://run.hit.edu.cn/ubuntu/ jaunty-backports main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ jaunty-backports main restricted universe multiverse
deb http://run.hit.edu.cn/ubuntu/ jaunty-security main restricted universe multiverse
deb-src http://run.hit.edu.cn/ubuntu/ jaunty-security main restricted universe multiverse

apt-get update
apt-get install sun-java5-jdk
至此,jdk1.5就安装完成了。

收尾工作,
1,将sources.list还原回来 :
mv sources.list_bak sources.list
apt-get update
如果你先前安装了jdk1.6,卸载吧:
apt-get remove sun-java6-jdk sun-java6-jre sun-java6-bin
如果是ubuntu10.04的话,请在新立得软件包管理器删除关于openjdk的包
完成这些工作就可以编译源码了!!!

  评论这张
 
阅读(1267)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017