Android アプリで cvBlobsLib を使用すると問題が発生します。NDKでEclipseを使用しています。
ライブラリ cvBlobsLib をダウンロードし、このライブラリのソース ファイルを使用して Eclipse プロジェクトを作成し、Eclipse を使用して正常にコンパイルし、ファイル libcvblobslib.a を作成しました。
プロジェクトで libcvblobslib.a ファイルを使用しようとすると (Eclipse で再び - Android+NDK プロジェクト)、次のようなエラーが表示されます。
必要なライブラリのアーカイブ: プロジェクト 'MyProject' の 'jni/cvblobslib_headers/libcvblobslib.a' を読み取れないか、有効な 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
助けてください!