将 C++ OpenCV 链接到 Android Studio 中的应用程序
Linking C++ OpenCV to an app in Android Studio
我正在使用 Android studio 将使用 OpenCV 的现有 C++ 代码集成到 Android 应用程序中。为此,我安装了包 OpenCV-android-sdk
并将其作为模块添加到 Android studio。我还创建了一个简单的 Kotlin 应用程序。
到目前为止,我已经成功地将我的 C++ 代码集成到项目中。通过 include_directories
语句将路径添加到 OpenCV include 后,代码编译成功。
我的下一步是 link 针对预编译的 OpenCV 库,以解决“未定义符号”错误。我不知道如何实现 this/where 来指定它。我曾尝试在网上查找资源,但没有两个资源说明相同,而且解决方案似乎过于复杂。我在丛林里迷路了。
我终于成功了。食谱来了(在 Windows 下验证)。
确保下载 OpenCV Android SDK
并将其复制到某处。
项目必须创建为 Native C++
应用程序(Phone 和平板电脑)。 cpp
文件夹自动创建,其中包含 native-lib.cpp
源文件和 CMakeLists.txt
.
将以下行添加到 CMakeLists
文件,在 project
行之后:
set(OpenCV_DIR $ENV{OPENCV_ANDROID}/sdk/native/jni)
find_package(OpenCV REQUIRED)
您必须定义环境变量 OPENCV_ANDROID
并使其指向您复制的文件夹 .../OpenCV-android-sdk
。 (或者,您可以在 set
命令中对路径进行硬编码。)
然后在底部插入
target_link_libraries(app_name ${OpenCV_LIBS})
其中 OpenCV_LIBS
指向文件夹 .../OpenCV-android-sdk/sdk/native/libs
,app_name
是您在创建应用程序时提供的名称。
最后,交叉手指并构建。
我正在使用 Android studio 将使用 OpenCV 的现有 C++ 代码集成到 Android 应用程序中。为此,我安装了包 OpenCV-android-sdk
并将其作为模块添加到 Android studio。我还创建了一个简单的 Kotlin 应用程序。
到目前为止,我已经成功地将我的 C++ 代码集成到项目中。通过 include_directories
语句将路径添加到 OpenCV include 后,代码编译成功。
我的下一步是 link 针对预编译的 OpenCV 库,以解决“未定义符号”错误。我不知道如何实现 this/where 来指定它。我曾尝试在网上查找资源,但没有两个资源说明相同,而且解决方案似乎过于复杂。我在丛林里迷路了。
我终于成功了。食谱来了(在 Windows 下验证)。
确保下载 OpenCV Android SDK
并将其复制到某处。
项目必须创建为 Native C++
应用程序(Phone 和平板电脑)。 cpp
文件夹自动创建,其中包含 native-lib.cpp
源文件和 CMakeLists.txt
.
将以下行添加到 CMakeLists
文件,在 project
行之后:
set(OpenCV_DIR $ENV{OPENCV_ANDROID}/sdk/native/jni)
find_package(OpenCV REQUIRED)
您必须定义环境变量 OPENCV_ANDROID
并使其指向您复制的文件夹 .../OpenCV-android-sdk
。 (或者,您可以在 set
命令中对路径进行硬编码。)
然后在底部插入
target_link_libraries(app_name ${OpenCV_LIBS})
其中 OpenCV_LIBS
指向文件夹 .../OpenCV-android-sdk/sdk/native/libs
,app_name
是您在创建应用程序时提供的名称。
最后,交叉手指并构建。