を見つけていない私は、Android Studioの2.3を使用していますが、致命的なエラーを取得:「opencv2 /コア/ core.hpp」ファイルがのAndroid Studioの「opencv2 /コア/ core.hpp」ファイルが
を発見していない私は、多くの同様の問題を見てAndroid.mkはビルドされていませんが、Android.mkはすでにビルド済みです。
Android.mkにOpenCV.mkのパスを変更すると、ファイルが見つかりませんというエラーが表示されるので、Android.mkは既にビルドプロセスに含まれていて、ファイルパスは正しいと思います。
includeパスが正しい場合、OpenCV.mkはopencv2フォルダを見つけるはずですが、まだファイルが見つかりませんというエラーが表示されます。
Android Studioに他のパスを設定する方法はありますか?
ビルドスクリプトで何が問題になっていますか?
ネイティブlib.cpp
#include <DetectionBasedTracker.h>
#include <opencv2/core/core.hpp>
#include <opencv2/contrib/detection_based_tracker.hpp>
Android.mk
LOCAL_PATH := $(call my-dir)
OPENCV_CAMERA_MODULES:=off
OPENCV_INSTALL_MODULES:=on
OPENCV_LIB_TYPE:=SHARED
include $(LOCAL_PATH)/../../../../../../../../OpenCV-android-sdk/sdk/native/jni/OpenCV.mk
LOCAL_C_INCLUDES+=$(LOCAL_PATH)/../../../../../../../../OpenCV-android-sdk/sdk/native/jni/include/
LOCAL_SRC_FILES := native-lib.cpp
LOCAL_LDLIBS += -llog -ldl
LOCAL_MODULE:= native-lib
include $(BUILD_SHARED_LIBRARY)
Application.mk
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi armeabi-v7a arm64-v8a
build.gradle
android {
......
......
sourceSets.main {
jni.srcDirs = [] //disable automatic ndk-build call
}
task ndkBuild(type: Exec, description: 'Compile JNI source via NDK') {
commandLine 'F:\\Android_SDK\\ndk-bundle\\ndk-build.cmd',
'-C', file('src\\main\\jni').absolutePath,
'NDK_DEBUG=1',
'V=1'
}
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn ndkBuild
}
}
ファイル構造として
app/src/main/jni/Android.mk
app/src/main/jni/Application.mk
app/src/main/jni/native-lib.cpp
app/build.gradle
はい、OpenCVLibrary320はproject_structure-> dependencies番目にインポートされますスコープがコンパイルされています 私が提供している醜いandroid.mkには申し訳ありませんが、変更後はAndroid.mkとbuild.gradleはまだ動作しません。 –
プロジェクトフォルダ内のパラメータでndk-build.cmdを直接実行すると正常に生成されますが、Android Studioでは "opencv2/core/core.hpp 'ファイルが見つかりません"という致命的なエラーが発生します –
Opencvをインストールした後、システムの環境変数** Path **にインストールされているディレクトリがあることを確認してください。 – Gowthaman