CMakeLists.txt CMAKE_PREFIX_PATH 处的 CMake 错误

问题描述 投票:0回答:3

我从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
3个回答
14
投票
  1. 检查您的系统上是否安装了 OpenCV。请注意安装它的文件夹。例如:
    C:\OpenCV
  2. 使用类似于
  3. 的命令行执行CMake

cmake -DCMAKE_PREFIX_PATH =“C:\ OpenCV”..

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

cmake -DOpenCV_DIR =“C:\ OpenCV uild \ x86 c10 \ lib”..

在这两种情况下,我认为您尝试编译的代码的提供者通过将

NO_DEFAULT_PATH
放入
find_package(OpenCV ...)
中而犯了错误。如果不起作用,请删除此标志后重试。


3
投票

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

cd ~/

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

cd opencv

mkdir install

cd install

cmake ../

make

sudo make install

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


0
投票

独立的 OPENCV lib 安装可以自行解决此问题

apt install libopencv-dev
© www.soinside.com 2019 - 2024. All rights reserved.