我一直在尝试构建 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