遇到了如下错误,找了很多可能原因,并修改。
发现竟然是头文件的问题:
加入 #include <sys/types.h> 立即解决问题!
参考 http://stackoverflow.com/questions/9073667/where-to-find-the-complete-definition-of-off-t-type
root@Ubuntu32:/home/zhangbin/STM/airplay/openml/jni#
root@Ubuntu32:/home/zhangbin/STM/airplay/openml/jni#root@Ubuntu32:/home/zhangbin/STM/airplay/openml/jni# ndk-build
Android NDK: WARNING:/home/zhangbin/STM/airplay/openml/jni/libasset/Android.mk:asset: LOCAL_LDLIBS is always ignored for static libraries
Android NDK: WARNING:/home/zhangbin/STM/airplay/openml/jni/libmedia/Android.mk:media: LOCAL_LDLIBS is always ignored for static libraries
Android NDK: WARNING:/home/zhangbin/STM/airplay/openml/jni/libpng/Android.mk:png: LOCAL_LDLIBS is always ignored for static libraries
Android NDK: WARNING:/home/zhangbin/STM/airplay/openml/jni/libzip/Android.mk:zip: LOCAL_LDLIBS is always ignored for static libraries
[armeabi] Compile++ thumb: asset <= asset.cpp
In file included from /home/zhangbin/android/android-ndk-r9b/platforms/android-14/arch-arm/usr/include/android/ asset_manager_jni.h:21:0,
from /home/zhangbin/STM/airplay/openml/jni/libasset/asset.h:10,
from /home/zhangbin/STM/airplay/openml/jni/libasset /asset.cpp:2:
/home/zhangbin/android/android-ndk-r9b/platforms/android-14/arch-arm/usr/include/android/asset_manager.h:94:1: error: 'off_t' does not name a type
/home/zhangbin/android/android-ndk-r9b/platforms/android-14/arch-arm/usr/include/android/asset_manager.h:105:1: error: 'off64_t' does not name a type
/home/zhangbin/android/android-ndk-r9b/platforms/android-14/arch-arm/usr/include/android/asset_manager.h:122:1: error: 'off_t' does not name a type
/home/zhangbin/android/android-ndk-r9b/platforms/android-14/arch-arm/usr/include/android/asset_manager.h:128:1: error: 'off64_t' does not name a type
/home/zhangbin/android/android-ndk-r9b/platforms/android-14/arch-arm/usr/include/android/asset_manager.h:133:1: error: 'off_t' does not name a type
/home/zhangbin/android/android-ndk-r9b/platforms/android-14/arch-arm/usr/include/android/asset_manager.h:140:1: error: 'off64_t' does not name a type
/home/zhangbin/android/android-ndk-r9b/platforms/android-14/arch-arm/usr/include/android/asset_manager.h:150:46: error: 'off_t' has not been declared
/home/zhangbin/android/android-ndk-r9b/platforms/android-14/arch-arm/usr/include/android/asset_manager.h:150:63: error: 'off_t' has not been declared
/home/zhangbin/android/android-ndk-r9b/platforms/android-14/arch-arm/usr/include/android/asset_manager.h:161:48: error: 'off64_t' has not been declared
/home/zhangbin/android/android-ndk-r9b/platforms/android-14/arch-arm/usr/include/android/asset_manager.h:161:67: error: 'off64_t' has not been declared
In file included from /home/zhangbin/STM/airplay/openml/jni/libasset/asset.cpp:2:0:
/home/zhangbin/STM/airplay/openml/jni/libasset/asset.h:23:2: error: 'off_t' does not name a type
/home/zhangbin/STM/airplay/openml/jni/libasset/asset.h:24:2: error: 'off_t' does not name a type
/home/zhangbin/STM/airplay/openml/jni/libasset/asset.cpp: In function 'int asset_option(AssetEntry, int, void*, void*)':
/home/zhangbin/STM/airplay/openml/jni/libasset/asset.cpp:230:38: error: 'struct AssetDescriptor' has no member named 'start'
/home/zhangbin/STM/airplay/openml/jni/libasset/asset.cpp:230:58: error: 'struct AssetDescriptor' has no member named 'length' 塔机配件大全
/home/zhangbin/STM/airplay/openml/jni/libasset/asset.cpp: In function 'int asset_length(AAsset*)':
/home/zhangbin/STM/airplay/openml/jni/libasset/asset.cpp:265:31: error: 'AAsset_getLength' was not declared in this scope
/home/zhangbin/STM/airplay/openml/jni/libasset/asset.cpp: In function 'int asset_seek(AAsset*, int, int)':
/home/zhangbin/STM/airplay/openml/jni/libasset/asset.cpp:272:36: error: 'AAsset_seek' was not declared in this scope
make: *** [/home/zhangbin/STM/airplay/openml/obj/local/armeabi/objs/asset/asset.o] Error 1