【问题标题】:CMake Error at CMakeLists.txt CMAKE_PREFIX_PATHCMakeLists.txt CMAKE_PREFIX_PATH 处的 CMake 错误
【发布时间】:2020-12-09 18:04:07
【问题描述】:

我已经从http://face.ci2cv.net/下载了人脸分析SDK的源代码。现在我正试图让它运行。我下载了所有必要的软件并按照安装说明进行操作。当我尝试执行 cmake [options] .. 时出现错误。

CMake Error at CMakeLists.txt:21(find_package):
Could not find a package configuration file provided by "OpenCV" with any of the following names:
OpenCVConfig.cmake
opencv-comfig.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. 

CMakeLists.txt 看起来像这样

# -*-cmake-*-
PROJECT(CSIRO-FaceAnalysis-SDK)

cmake_minimum_required(VERSION 2.8)

#set(CMAKE_VERBOSE_MAKEFILE true)

# Default values for options
if(NOT DEFINED OpenCV_PREFIX)
  set(OpenCV_PREFIX ${CMAKE_INSTALL_PREFIX})
endif()


  set(OpenCV_PREFIX C:/Program Files/Development/opencv/build)
endif(
# Configurable options
OPTION(WITH_GUI "Build the GUI" OFF)

# Third party libraries
find_package(OpenCV REQUIRED core highgui imgproc objdetect
  PATHS ${OpenCV_PREFIX}/lib/cmake/
        ${OpenCV_PREFIX}/share/OpenCV/
  NO_DEFAULT_PATH) # For some reason CMake uses its defaults before the above paths.

请帮帮我,我不知道该怎么办。

谢谢,B

【问题讨论】:

    标签: opencv cmake


    【解决方案1】:
    1. 检查您的系统上是否安装了 OpenCV。注意安装它的文件夹。例如:C:\OpenCV
    2. 使用类似于
    3. 的命令行执行 CMake

    cmake -DCMAKE_PREFIX_PATH="C:\OpenCV" ..

    找到包含 OpenCVConfig.cmake 的文件夹(例如 C:\OpenCV\build\x86\vc10\lib)并通过变量 OpenCV_DIR 将其传递给 CMake

    cmake -DOpenCV_DIR="C:\OpenCV\build\x86\vc10\lib" ..

    在这两种情况下,我认为您尝试编译的代码的提供者通过将NO_DEFAULT_PATH 放入find_package(OpenCV ...) 中犯了错误。如果没有任何效果,请在删除此标志后重试。

    【讨论】:

    • 感谢您的帮助。有效。但我已经面临下一个问题。在文档中它说:当 CMake 成功配置项目时,发出“make”。从上下文中我知道我需要这个 make 命令来完成构建。但是,当我在我的 cmd 行中简单地输入 make 时,它​​说没有这样的命令。你能帮我么?谢谢,B
    • 如果您使用的是 Windows,则取决于您的环境。如果您想使用 MinGW 的 GCC,请尝试 mingw-make。如果您使用 MSVC 编译器,请尝试 nmake。无论如何,我建议你阅读一些关于 CMake 使用的基本文档,以及你的平台的特殊性(我猜是 Windows)。 StackOverflow 上的许多问题也会对您有所帮助。示例:stackoverflow.com/questions/4219479/…
    • 再次感谢您的帮助。我已经阅读了一些关于 CMake 的基本文档。但我真的不明白。我使用的是 Windows 8.1,并且我已经安装了 Visual Studio,所以我可以访问 nmake.exe。这能让我更进一步吗?
    • 所以运行CMake之后,应该可以运行nmake来实现编译。你面临什么问题?
    • 我引用你的话:I have installed visual Studio so I have access to nmake.exe。您是否可以访问 nmake?请为此特定问题创建一个新问题。太复杂了,无法在另一个答案的 cmets 中回答
    【解决方案2】:

    几天前我遇到了同样的问题,这是我用来将它安装到我的系统上的代码,并以某种方式让 CMakeLists.txt 了解如何找到这些文件。此过程也适用于其他包。

    cd ~/

    git clone https://github.com/opencv/opencv.git

    cd opencv

    mkdir install

    cd install

    cmake ../

    make

    sudo make install

    注意:由于 opencv 的复杂性和大小,制作它需要很长时间,但我确信有一种方法可以下载并只制作您需要的某些部分。我没有这样做,因为我不知道怎么做。

    【讨论】:

      猜你喜欢
      • 2020-06-08
      • 1970-01-01
      • 2013-09-10
      • 2020-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多