2013-01-06 128 views
2

我在使用cvBlobsLib和我的Android應用程序時遇到問題。我使用NDK的Eclipse。使用cvBlobsLib構建Android NDK應用程序時出錯

我已經下載了庫cvBlobsLib,使用這個庫的源文件創建一個Eclipse項目,使用Eclipse編譯成功,並創建文件libcvblobslib.a

當試圖使用libcvblobslib.a文件在我項目(在Eclipse中再次 - 的Android NDK +項目),我得到一個錯誤,指出:

存檔所需的庫:「JNI/cvblobslib_headers/libcvblobslib.a」項目「MyProject的」無法讀取或不是有效的ZIP文件。

我無法弄清楚的問題是什麼......我加入了libcvblobslib.a文件添加到構建路徑,所有的頭文件,與libcvblobslib.a一起路徑JNI/cvblobslib_headers下/

我能夠在沒有cvBlobsLib的情況下使用openCV庫,所以我知道NDK的所有路徑和配置都是正確的。

我android.mk是:

LOCAL_PATH := $(call my-dir) 
include $(CLEAR_VARS) 
LOCAL_MODULE := cvBlobsLib 
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/cvblobslib_headers/ 
LOCAL_SRC_FILES := cvblobslib_headers/libcvblobslib.a 
include $(PREBUILT_STATIC_LIBRARY) 

include $(CLEAR_VARS) 
include ../../sdk/native/jni/OpenCV.mk 
LOCAL_MODULE := native_sample 
LOCAL_SRC_FILES := jni_part.cpp 
LOCAL_STATIC_LIBRARIES = cvBlobsLib 
LOCAL_LDLIBS += -llog -ldl 
include $(BUILD_SHARED_LIBRARY) 

而且我Application.mk是:

APP_STL := gnustl_static 
APP_CPPFLAGS := -frtti -fexceptions 
APP_ABI := armeabi-v7a x86 
APP_PLATFORM := android-11 

請幫助!

回答

0

好的,我找到了一個部分解決方案,但它不使用靜態庫的方式。相反,我將源文件複製到我的項目中,並將它們編譯爲共享庫。

編譯需要一段時間了,但至少現在的工作......

如果有人知道如何做到這一點靜態,我會很高興知道我缺少什麼?