在开发Android4.0(ICS)时编译环境都是OK的,添加Android4.2的相关配置后出现gcc错误的问题,具体如下:
GCC version should be gcc version 4.5.1. please check it!!
make[4]: *** [check_gccver] Error 99
开始我也认为是gcc版本的问题,因为编译环境是Ubuntu10.10 64bit,对应的gcc版本是4.4.5。后来尝试自己编译安装gcc4.5.1,结果不小心把Ubuntu搞挂了。重新安装Ubuntu12.04 LTS后编译Android4.0 OK,但是编译Android4.2还是出现上述错误,gcc版本降低到gcc4.5.3还是无法解决。
最后查看发现是环境变量设置的问题,具体如下:
Ubuntu10.10上环境变量设置为:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/arm-2010q1/bin:/opt/arm-2010.09/bin:/opt/arm-2011.03/bin:/opt/aeon/bin:/opt/mips-4.3/bin:/usr/jdk1.6.0_32/bin
Ubuntu12.04上环境变量设置为:(echo $PATH)
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/arm-2010q1/bin:/opt/arm-2011.03/bin:/opt/aeon/bin:/opt/mips-4.3/bin:/usr/jdk1.6.0_32/bin
修改方法:
将环境变量PATH分成全局和User PATH两部分,其中全局的设置为:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/jdk1.6.0_32/bin
User PATH部分,进入到User对应的Home目录,修改.bashrc文件,在其结尾处加入:
export PATH=$PATH:/opt/arm-2010q1/bin(针对编译Android4.0的账户)
export PATH=$PATH:/opt/arm-2010.09/bin:/opt/arm-2011.03/bin:/opt/mips-4.3/bin:opt/aeon/bin(针对编译Android4.2的账户)
上述出现gcc错误,初步判断为环境变量的设置时,/opt/arm-2010q1/bin在前导致未使用到/opt/arm-2010.09/bin,从而导致编译时检测到gcc版本错误!!