c++ - 没有影响 CMAKE_MODULE_PATH (openCV 交叉编译)
问题描述
Cmake 看不到OpenCVConfig.cmake
. 安装list(APPEND CMAKE_MODULE_PATH "$ENV{HOME}/CLionProjects/opencv/opencv-android-shared/sdk/native/jni")
:
我想在 Android 的 QT 应用程序中使用 OpenCV。Qt、OpenCV 和当前项目是使用相同的工具链构建的../Android/Sdk/ndk/android-ndk-r21e/build/cmake/android.toolchain.cmake
。还有,ANDROID_PLATFORM=28
,ANDROID_ABI=arm64-v8a
。在CMakeLists.txt
当前项目中:
list (APPEND CMAKE_MODULE_PATH
"$ENV{HOME}/CLionProjects/opencv/opencv-android-shared/sdk/native/jni")
list (APPEND CMAKE_PREFIX_PATH
...
"$ENV{HOME}/CLionProjects/opencv/opencv-android-shared/sdk/native/jni")
Cmake错误:
CMake Error at CMakeLists.txt: 31 (find_package):
By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "OpenCV", but
CMake did not find one.
Could not find a package configuration file provided by "OpenCV" with any
of the following names:
OpenCVConfig.cmake
opencv-config.cmake
Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set
"OpenCV_DIR" to a directory containing one of the above files. If "OpenCV"
provides a separate development package or SDK, be sure it has been
installed.
我怀疑 Cmake 正在寻找 OpenCV 的特定版本/平台,但构建设置是相似的。我还尝试CMAKE_MODULE_PATH
在配置行中进行设置:-DCMAKE_TOOLCHAIN_FILE="/home/dym/Android/Sdk/ndk/android-ndk-r21e/build/cmake/android.toolchain.cmake" -DANDROID_ABI=arm64-v8a -DCMAKE_MODULE_PATH=/home/dym/CLionProjects/opencv/opencv-android-shared/sdk/native/jni
解决方案
推荐阅读
- node.js - 使用 ng serve 找不到模块“@angular-devkit/build-angular”
- acumatica - 在用户更新并关闭智能面板后,如何在读取所有智能面板字段之前强制读取更新?
- sql-server - SQL Server:根据搜索另一个结果集从一个表中获取结果
- laravel - Vue.js 转换在 Laravel Blade + Sass 中不起作用
- core-ui - 添加具有默认布局的新组件
- python - 无法在 Gtk.TextView i Python 3 中对列进行排序
- javascript - 在数组中使用切片不会影响模板
- git - 如何恢复当前 git 提交的文件
- iphone - 如何使用蓝牙串行配置文件将串行数据发送到 Mac
- postgresql - 根据一个值删除重复项