首页 > 解决方案 > 没有影响 CMAKE_MODULE_PATH (openCV 交叉编译)

问题描述

Cmake 看不到OpenCVConfig.cmake. 安装list(APPEND CMAKE_MODULE_PATH "$ENV{HOME}/CLionProjects/opencv/opencv-android-shared/sdk/native/jni")

OCV_DIR

我想在 Android 的 QT 应用程序中使用 OpenCV。Qt、OpenCV 和当前项目是使用相同的工具链构建的../Android/Sdk/ndk/android-ndk-r21e/build/cmake/android.toolchain.cmake。还有,ANDROID_PLATFORM=28ANDROID_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

标签: c++opencvcmakeandroid-ndkcross-compiling

解决方案


推荐阅读