1

しばらくの間、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

4

1 に答える 1

0

問題が解決しました: Android Studio プロジェクトの「メイン」の下のフォルダー内に ndk プロジェクトをビルドしていることがわかりましたが、何らかの理由で機能していませんでした。
フォルダをどのAndroidプロジェクトにも属さない別のディレクトリに移動したところ、問題は解決しました。
後で他のいくつかの問題に直面しましたが、すべてがうまくいかなかったので、上記のチュートリアルで述べたものよりも新しいバージョンのopencv用の不自由なモジュールを構築する方法について、段階的な解決策をすぐに提供します.

于 2016-06-18T15:51:55.593 に答える