2012-11-22 32 views
1

按照this answer的規定,我從github下載了libjpeg 8d,並將其放入文件夾{ANDROID_APP}/jni/libjpeg。該庫有它自己的Android.mk,所以我想這種方式包括它在我的{ANDROID_APP}/jni/Android.mk結束:在NDK版本中包含libjpeg

include $(LOCAL_PATH)/libjpeg/Android.mk

注:我使用的是最新版本的Android NDK(R8C)的

運行NDK-構建之後,我仍然得到這個錯誤:

ANDROID_APP/jni/libfoo/foo_analysis.c:36:21: fatal error: jpeglib.h: No such file or directory

這是我的全球Android.mk結構:

LOCAL_PATH := $(call my-dir) 

# libFoo 
include $(CLEAR_VARS) 

LOCAL_MODULE := libfoo 
LOCAL_MODULE_FILENAME := libfoo 
LOCAL_SRC_FILES := libfoo/foo.c libfoo/foo_analysis.c libfoo/foo_extract.c 

LOCAL_STATIC_LIBRARIES := libbmp # declared previously but not shown in this example 

LOCAL_CFLAGS = ${FLAGS} 
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/libfoo 
LOCAL_EXPORT_LDLIBS := -llog 

include $(BUILD_STATIC_LIBRARY) 

# libBar 
include $(CLEAR_VARS) 

LOCAL_MODULE := libbar 
LOCAL_MODULE_FILENAME := libbar 
LOCAL_SRC_FILES := bar/bar.c 

LOCAL_STATIC_LIBRARIES := libfoo 

LOCAL_CFLAGS = ${FLAGS} 
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/bar 
LOCAL_EXPORT_LDLIBS := -llog 

include $(BUILD_STATIC_LIBRARY) 

# callbar 
LOCAL_MODULE := libcallbar 
LOCAL_MODULE_FILENAME := libcallbar 
LOCAL_SRC_FILES := com_androidapp_nativeC_callbar.c 

LOCAL_STATIC_LIBRARIES := libbar 

LOCAL_CFLAGS = ${FLAGS} 

include $(BUILD_SHARED_LIBRARY) 

#libjpeg 
include $(LOCAL_PATH)/libjpeg/Android.mk 

我試圖安裝libfoo模塊中使用LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/libfoo $(LOCAL_PATH)/libjpegLOCAL_C_INCLUDES := $(LOCAL_PATH)/libjpeg,但我仍然得到同樣的錯誤。

回答

2

剛剛在jpeg8d-master文件夾中查看Android.mk,似乎它沒有任何東西。

我試圖直接根據編譯庫獨立-TOOLCHAIN.HTML

我旁邊:$出口NDKROOT = /家庭/亞歷克斯/工具/ Android的NDK-R8C(哪裏是你的NDK)$出口SYSROOT = $ NDKROOT/platforms/android-9/arch-arm(或任何其他android平臺)

但來自jpeg8d-master的文件有windows \ r符號,並且我刪除了config.guess,config.sub,depcomp $ automake -a命令。並替換ltmain.sh from glib-2.34.0

than $ ./configure CC =「$ NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux- androideabi-GCC --sysroot = $ SYSROOT」主機=在arm-linux的-androideabi $使

下一個嘗試prebuilts功能NDK - How to use a generated .so library in another project和NDK/PREBUILTS.HTML