Ubuntu12.10 64bit版编译android4.0.*版本系统相关问题
来源:互联网 发布:水弹的数据 编辑:程序博客网 时间:2024/06/07 08:27
ubuntu12.10 64bit版,编译android4.0和android4.0.4(本人试过的版本)版本会出现各种各样的问题:
例如:
frameworks/base/include/utils/KeyedVector.h:193:31: error: ‘indexOfKey’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
'SetState' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
等等问题;总之是一些莫名其妙的问题。
看到后面的[-fpermissive] 搜到一篇文章提到在Android.mk中改编译选项的做法,试了几个,个别问题解决了,但是类似问题好多个,依然编译出错,最后决定试试换gcc和g++编译器版本的方法。
ubuntu12.10 64bit默认gcc版本是4.7.2
可以用 ls -l /usr/bin/gcc* 查看
例如:
hanson@hanson:~$ ls /usr/bin/gcc* -l
lrwxrwxrwx 1 root root 7 4月 10 23:56 /usr/bin/gcc -> gcc-4.7
-rwxr-xr-x 1 root root 578808 9月 22 2012 /usr/bin/gcc-4.7
-rwxr-xr-x 1 root root 22832 9月 22 2012 /usr/bin/gcc-ar-4.7
-rwxr-xr-x 1 root root 22832 9月 22 2012 /usr/bin/gcc-nm-4.7
-rwxr-xr-x 1 root root 22832 9月 22 2012 /usr/bin/gcc-ranlib-4.7
然后开始换版本:
执行:
sudo apt-get install gcc-4.4
sudo apt-get install g++-4.4
cd 到 /usr/bin目录查看是否安装好gcc和g++4.4:
hanson@hanson:/usr/bin$ ls gcc* -l
lrwxrwxrwx 1 root root 7 4月 10 23:56 gcc -> gcc-4.7
-rwxr-xr-x 1 root root 255168 8月 21 2012 gcc-4.4 这个表示4.4已经安装上了
-rwxr-xr-x 1 root root 578808 9月 22 2012 gcc-4.7
-rwxr-xr-x 1 root root 22832 9月 22 2012 gcc-ar-4.7
-rwxr-xr-x 1 root root 22832 9月 22 2012 gcc-nm-4.7
-rwxr-xr-x 1 root root 22832 9月 22 2012 gcc-ranlib-4.7
然后把gcc备份一下,然后建立新的软链接指向gcc-4.4
hanson@hanson:/usr/bin$ sudo mv gcc gcc_old
hanson@hanson:/usr/bin$ sudo ln -s gcc-4.4 gcc
hanson@hanson:/usr/bin$ ls gcc* -l
lrwxrwxrwx 1 root root 7 4月 24 11:33 gcc -> gcc-4.4 ------查看软链接是否链接到gcc-4.4
-rwxr-xr-x 1 root root 255168 8月 21 2012 gcc-4.4
-rwxr-xr-x 1 root root 578808 9月 22 2012 gcc-4.7
-rwxr-xr-x 1 root root 22832 9月 22 2012 gcc-ar-4.7
-rwxr-xr-x 1 root root 22832 9月 22 2012 gcc-nm-4.7
lrwxrwxrwx 1 root root 7 4月 10 23:56 gcc_old -> gcc-4.7
-rwxr-xr-x 1 root root 22832 9月 22 2012 gcc-ranlib-4.7
g++同理:
hanson@hanson:/usr/bin$ sudo mv g++ g++_old
hanson@hanson:/usr/bin$ sudo ln -s g++-4.4 g++ ------查看软链接是否链接到g++-4.4
hanson@hanson:/usr/bin$ ls -l g++*
lrwxrwxrwx 1 root root 7 4月 24 11:34 g++ -> g++-4.4
-rwxr-xr-x 1 root root 259264 8月 21 2012 g++-4.4
-rwxr-xr-x 1 root root 582904 9月 22 2012 g++-4.7
lrwxrwxrwx 1 root root 7 9月 22 2012 g++_old -> g++-4.7
然后用 gcc -v和g++ -v看看软链接替换是否成功;
接下来还需要一个重要的操作:
hanson@hanson:/usr/bin$ sudo apt-get install g++-4.4-multilib
此安装是为了解决g++ selected multilib '32' not installed的错误,如果不安装会编译不通过。
- Ubuntu12.10 64bit版编译android4.0.*版本系统相关问题
- Ubuntu12.10 64bit版编译android4.0.*版本系统相关问题
- android4.0编译 (ubuntu12.04 64bit)
- Ubuntu12.04(64bit) 下编译安装 Android4.0及4.22系统
- Ubuntu12.04 64bit编译Android4.2出现LZOP错误
- Ubuntu12.04(64bit)编译Android4.4源码和kernel
- Ubuntu12.04(64bit)编译Android4.4源码和kernel
- Ubuntu12.04(64bit)编译Android4.4源码和kernel
- ubuntu12.10 64位编译Android4.1
- ubuntu12.04(64bit)编译android4.2.2源代码及SDK步骤
- [odroid-pc] ubuntu12.04 64bit Android4.0.3 源代码编译报错及解决办法
- Ubuntu12.04系统编译Android4.4源码
- 编译android4.4问题--【gcc】:unknow (64-bit) [FAIL]
- ubuntu12.04 编译android4.2 问题
- ubuntu12.10 64bit 编译android内核配置时遇到的问题
- 《Android系统学习》第七章:Android4.0.1在ubuntu12.04编译的一个问题
- Ubuntu 11.10 64bit系统编译android 2.3的相关问题
- Ubuntu12.04 64bit 下载android4.3源代码
- MFC中怎样将位图写入指定的Picture控件中,两种方式:1 加载已有位图 2读取位图文件;另外CreateDIBitmap的用法和StretchDIBits用法举例
- maven3 自学笔记(一) Maven依赖
- A类不能实例化,但B类需要使用A类对象的设计策略
- Javascript
- The connection to adb is down, and a severe error has occured.解决办法
- Ubuntu12.10 64bit版编译android4.0.*版本系统相关问题
- hdu 1036 (字符串)
- 定义包含结构的内表
- php iconv() 编码转换出错 Detected an illegal character
- svn从服务器上下载代码
- Qt图元,场景,视图,状态机,状态转移,动画设置等的示列(备忘)
- Datatable的Select()方法简介
- BeanFactory和ApplicationContext
- VIJOS-P1401-复制CS