作者:希臘神話2502873813 | 来源:互联网 | 2023-05-26 23:47
我如何在android studio的项目中使用openCV - 但我需要在其他原生cpp文件中使用它而不是在java中.
我找到的所有指南和教程都解释了如何在java文件中使用openCV(loadLibrary ..),例如this和this
最终我在jniLibs文件夹中拥有所有.so或者将openCV添加为具有依赖关系的模块,但是我该怎么做"#include .."?我怎么能得到
错误:'cv'不是名称空间名称
对于
使用命名空间cv;
?(当然还有其他openCV代码......)
非常感谢!
1> dowi..:
最后我成功了:
我创建了自己的android.mk文件:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# OpenCV
OPENCV_INSTALL_MODULES:=on
include path/to/OpenCV-2.4.10-android-sdk/sdk/native/jni/OpenCV.mk
LOCAL_MODULE := glucomesdk
LOCAL_CFLAGS := -I/path tp/OpenCV-2.4.10-android-sdk/sdk/native/jni/include -Wall -Werror
LOCAL_SRC_FILES := \ all my cpp files
LOCAL_C_INCLUDES += /path to/src/main/jni
LOCAL_C_INCLUDES += /path to/src/debug/jni
LOCAL_C_INCLUDES += /path to/OpenCV-2.4.10-android-sdk/sdk/native/jni/include
LOCAL_STATIC_LIBRARIES := /path to/OpenCV-2.4.10-android-sdk/sdk/native/libs/armeabi-v7a/libopencv_core.a
LOCAL_LDLIBS += -llog -ldl
include $(BUILD_SHARED_LIBRARY)
然后我在终端中使用此代码来构建共享库(.so)
/path/to/android-ndk/ndk-build NDK_PROJECT_PATH=/path/to/project APP_BUILD_SCRIPT=/path/to/Android.mk NDK_OUT=/path/to/project/module/build/intermediates/ndk/debug/obj NDK_LIBS_OUT=/path/to/project/module/build/intermediates/ndk/debug/lib APP_STL=stlport_static APP_ABI=armeabi-v7a
之后我使用gradle的汇编(debug)来创建一个包含java代码和共享库的aar文件