Ubuntu 10.04
gcc 4.4.3
编译发现如下的错误:In file included from external/zlib/zlib.h:34,
                 from external/zlib/zutil.h:22,
                 from external/zlib/adler32.c:8:
external/zlib/zconf.h:365:44: error: sys/types.h: No such file or directory
In file included from prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:32,
                 from external/zlib/zconf.h:379,
                 from external/zlib/zlib.h:34,
                 from external/zlib/zutil.h:22,
                 from external/zlib/adler32.c:8:
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/sys/cdefs.h:59:27: error: sys/cdefs_elf.h: No such file or directory
In file included from external/zlib/zconf.h:379,
                 from external/zlib/zlib.h:34,
                 from external/zlib/zutil.h:22,
                 from external/zlib/adler32.c:8:
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:34:24: error: sys/select.h: No such file or directory
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:35:25: error: sys/sysconf.h: No such file or directory
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:36:30: error: linux/capability.h: No such file or directory
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:37:22: error: pathconf.h: No such file or directory
In file included from external/zlib/zconf.h:379,
                 from external/zlib/zlib.h:34,
                 from external/zlib/zutil.h:22,
                 from external/zlib/adler32.c:8:
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:54: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'fork'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:55: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'vfork'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:56: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'getpid'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:57: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'gettid'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:58: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'getpgid'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:60: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'getppid'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:61: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'getpgrp'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:63: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'setsid'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:71: error: expected ')' before 'hdrp'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:72: error: expected ')' before 'hdrp'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:79: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'getuid'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:81: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'geteuid'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:83: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'getgid'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:85: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'getegid'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:86: error: expected declaration specifiers or '...' before 'gid_t'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:87: error: expected ';', ',' or ')' before '*' token
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:92: error: expected ')' before '*' token
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:93: error: expected ')' before '*' token
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:121: error: expected declaration specifiers or '...' before 'uid_t'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:121: error: expected declaration specifiers or '...' before 'gid_t'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:122: error: expected declaration specifiers or '...' before 'uid_t'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:122: error: expected declaration specifiers or '...' before 'gid_t'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:123: error: expected declaration specifiers or '...' before 'uid_t'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:123: error: expected declaration specifiers or '...' before 'gid_t'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:124: error: expected declaration specifiers or '...' before 'off_t'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:130: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'lseek'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:131: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'lseek64'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:133: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'read'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:134: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'write'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:135: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'pread'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:136: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'pwrite'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:145: error: expected declaration specifiers or '...' before 'off_t'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:186: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'tcgetpgrp'
prebuilt/ndk/android-ndk-r5/platforms/android-9/arch-arm/usr/include/unistd.h:187: error: expected declaration specifiers or '...' before 'pid_t'
In file included from external/zlib/zutil.h:22,
                 from external/zlib/adler32.c:8:
external/zlib/zlib.h:1591: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'gzseek'
external/zlib/zlib.h:1592: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'gztell'
external/zlib/zlib.h:1593: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'gzoffset'
external/zlib/zlib.h:1594: error: expected declaration specifiers or '...' before 'off_t'
external/zlib/zlib.h:1595: error: expected declaration specifiers or '...' before 'off_t'
In file included from external/zlib/adler32.c:8:
external/zlib/zutil.h:28:22: error: string.h: No such file or directory

解决方案 »

  1.   

    在虚拟机中编译的,用下面两个命令说已经是最新的了...
    sudo apt-get install build-essential
    sudo apt-get install libc6-dev
      

  2.   

    查了一下我这边下载到的ICS的源码, 这里说的缺失的头文件都是存在的, 如果时按照(http://source.android.com/source/downloading.html)这个步骤下载的源码或是确定源码下载没有问题的话, 可以按照:http://source.android.com/source/initializing.html 这个网页里面的环境搭建方法检查是否有那个编译工具没有安装, 或是按(http://source.android.com/source/building.html)这里的步骤检查下编译流程看有没有问题, 是不是有按照提示的运行(
    $ . build/envsetup.sh
    Choose a Target
    Choose which target to build with lunch. The exact configuration can be passed as an argument, e.g. 
    $ lunch full-eng
    )设置编译模式等
      

  3.   

    http://blog.csdn.net/flydream0/article/details/7046612
    参考这篇文章
      

  4.   

    我这边conf.h等这些文件也是有的,估计是放错地方了,我刚接触Android,不清楚如何去查找这样的错误.
      

  5.   


    这里的错误提示都是说头文件找不到的, 如果是直接从官网下载的SDK的话一般是不会出现头文件放错位置的问题的, 要么就是环境参数没有配置好, 或是编译环境没有搭建完善. 刚才回复里面的后两个安装编译工具的和设置编译环境参数的那两个可以再核对下看看
      

  6.   

    问题缩小范围了,发现单独编译这个模块也是这个问题:
    mmm external/zlib
      

  7.   

    好像sys/types.h 找不到,在Android.mk里加LOCAL_C_INCLUDES:= 路径,如果是借助Makefile 在CFLAGS += -I路径。
      

  8.   

    楼主估计机器少安装东西,应该是这个东西:
    sudo apt-get install zlib1g-dev