• android源码2.3编译—致命错误: bits/predefs.h


    (参考了现有的解决方法,综合把问题解决了)
     

    第一种说法是:GCC版本过高。(http://blog.sina.com.cn/s/blog_4e7453df01012r1d.html)

    例如:

    /usr/include/features.h:323:26: 致命错误:bits/predefs.h:没有那个文件或目录

    编译中断。
    make: ***[out/host/linux-x86/obj/EXECUTABLES/mkbootfs_intermediates/mkbootfs.o]错误 1
    make: *** 正在等待未完成的任务….
    In file included from /usr/include/stdlib.h:25:0,
    from build/tools/acp/acp.c:11:
    /usr/include/features.h:323:26: 致命错误:bits/predefs.h:没有那个文件或目录
    编译中断。

    ubuntu 11.10的gcc版本是4.6.1,版本太高,编译android时出错,要把gcc版本改为4.4.3。


    ubuntu 系统下安装gcc 4.4的方法是用以下两条命令。

    sudo apt-get install gcc-4.4

    sudo apt-get install g++-4.4

    装完后在/usr/bin目录下

    $ 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:

    sudo mv gcc gcc.bak

    sudo ln -s gcc-4.4 gcc

    同理

    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:

    /usr/bin$ sudo mv g++ g++.bak

    /usr/bin$sudo ln -s g++-4.4 g++

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

    均显示gcc version 4.4.6,现在一切ok。

    然后继续编译,期间可能还发生g++ selected multilib '32' notinstalled的错误,需要:

          sudo apt-get install g++-4.4-multilib


    这样操作之后,我的问题还没有解决,第二步:

    解决方法:
    1. 查询系统是否为x86_64 GNU/Linux
           root@mm-desktop:uname -a
           如果显示如下:
           Linuxmm-desktop 2.6.27-9-generic #1 SMP Thu Nov 20 22:15:32 UTC 2008  x86_64 GNU/Linux
      说明系统是x86_64 GNU/Linux,安装libc6-dev-i386
         sudoapt-get install libc6-dev-i386

    2. 如果是32位系统:sudoapt-get installlibc6-dev

    3. 然后输入sudoapt-get install gcc-multilib即可

  • 相关阅读:
    JDK线程池原理之一:工作原理
    Hystrix Feign 特定状态码不熔断
    Hystrix熔断的方法级别(自定义commonKey)
    谨慎使用Exception
    FunctionalInterface~一个批量处理数据的类
    keycloak~账号密码认证和授权码认证
    keycloak~OIDC&OAuth2&自定义皮肤
    docker~添加hosts绑定的方法
    docker~产生的IP段与现有IP冲突问题
    高中数学知识要点及解题方法精粹[网摘]
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3132320.html
Copyright © 2020-2023  润新知