Android源码编译gcc版本过高解决办法

在Ubuntu 12.04环境下,由于默认GCC版本为4.6,导致编译源码时遇到问题。通过安装GCC 4.4.6来解决这个问题,确保编译使用的GCC版本降低。然而,安装后可能遇到'bits/predefs.h'文件缺失的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:   Ubutn12.04 ,默认GCC版本为4.6. 在编译源码都时候提示

host C++: obbtool <=frameworks/base/tools/obbtool/Main.cpp

:0:0: warning: "_FORTIFY_SOURCE" redefined [enabled bydefault]

 解决方法:

1    $sudo apt-get install gcc-4.4
2    $sudo apt-get install g++-4.4

装完后进入到/usr/bin目录下
1    $ls -l gcc*

会显示以下结果

    lrwxrwxrwx 1 root root 7 2011-10-29 09:11 gcc -> gcc-4.6
    -rwxr-xr-x 1 root root 224544 2011-10-06 05:47 gcc-4.4
    -rwxr-xr-x 1 root root 302104 2011-09-17 05:43 gcc-4.6

发现gcc链接到gcc-4.6, 需要将它改为链接到gcc-4.4,方法如下:
1    $sudo mv gcc gcc.bak
2    $sudo ln -s gcc-4.4 gcc

同理,对g++也做同样的修改:
1    $ls -l g++*

lrwxrwxrwx 1 root root 7 2011-08-14 15:17 g++ -> g++-4.6
-rwxr-xr-x 1 root root 228640 2011-10-06 05:45 g++-4.4
-rwxr-xr-x 1 root root 306200 2011-09-17 05:39 g++-4.6

需要将g++链接改为g++-4.4:
1    $sudo mv g++ g++.bak
2    $sudo ln -s g++-4.4 g++

再查看gcc和g++版本号:
gcc -v
g++ -v

均显示gcc version 4.4.6 ,说明gcc 4.4安装成功。



 后续问题:

提示bits/predefs.h:没有那个文件或目录 错误的


输入sudo apt-get install gcc-multilib 即可

g++ selected multilib '32' not installed

sudo apt-get install g++-4.4-multilib
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值