しばらくの間、opencv の非フリー ライブラリをビルドしようとしましたが、ndk-build 関数を呼び出すと、このエラーで中止されます
Android NDK: ERROR:jni/Android.mk:opencv_java: LOCAL_SRC_FILES points to a missing file Android NDK: Check that /03-Projects//WorkSpace//OpenCV-2.4.11-android-sdk//OpenCV-android-sdk//sdk//native//jni//../libs/armeabi/libopencv_java.so exists or that its path is correct C:/android-ndk-r11c/build//../build/core/prebuilt-library.mk:45: *** Android NDK: Aborting. Stop.
私はこのチュートリアルに従いました:チュートリアル - パート 1: Android NDK プロジェクトでの OpenCV 非フリー モジュール (SIFT、SURF) の使用
ここで Kornel が提供するソリューション: Kornel's solution for building nonfree
ここに私のファイル階層があります: app -> src -> main -> jni
これが私の Android.mk ファイルです
LOCAL_PATH := $(call my-dir)
OPENCV_PATH := D:\\03-Projects\\WorkSpace\\OpenCV-2.4.11-android- sdk\\OpenCV-android-sdk\\sdk\\native\\jni
include $(CLEAR_VARS)
OPENCV_INSTALL_MODULES := on
OPENCV_CAMERA_MODULES := off
include $(OPENCV_PATH)\\OpenCV.mk
LOCAL_C_INCLUDES := \
$(LOCAL_PATH) \
$(OPENCV_PATH)/include
LOCAL_SRC_FILES := \
nonfree_init.cpp \
sift.cpp \
surf.cpp
LOCAL_MODULE := nonfree
LOCAL_CFLAGS := -Werror -O3 -ffast-math
LOCAL_LDLIBS := -llog -ldl
include $(BUILD_SHARED_LIBRARY)
両方にAPP_ABIを設定してndkを構築しようとしています:
x86 armeabi-v7a