1
我使用過Android Studio 2.3,並得到致命錯誤:「opencv2 /核心/ core.hpp」找不到文件的Android工作室「opencv2 /核心/ core.hpp」找不到文件
我看到很多類似的問題,即不是構建Android.mk,但我的Android.mk應該已經構建好了。
如果在Android.mk中更改包含OpenCV.mk的路徑,它會報告找不到文件的錯誤,所以我認爲Android.mk已經包含在構建過程中,並且文件路徑是正確的。
如果包含路徑是正確的,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中e範圍編譯 我很抱歉我提供的醜陋android.mk,更改後Android.mk和build.gradle建議仍然無法正常工作。 –
native-lib.so當直接執行ndk-build.cmd與參數在項目文件夾,但在Android Studio仍然得到「致命錯誤:'opencv2/core/core.hpp'文件未找到」 –
生成成功後安裝Opencv,請檢查您在系統的環境變量**路徑**中是否已安裝了目錄。 – Gowthaman