Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CMake Error at CMakeLists.txt CMAKE_PREFIX_PATH

Tags:

opencv

cmake

I have downloaded the source code of the face-analysis SDK from http://face.ci2cv.net/. Now I am trying to get it running. I downloaded all the necessary software and followed the installation instructions. When I try to execute cmake [options] .. I get an error.

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. 

The CMakeLists.txt looks like this

# -*-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.

Please help me, I have no idea what to do.

Thanks, B

like image 933
bxxxi Avatar asked Nov 25 '14 12:11

bxxxi


2 Answers

  1. Check that OpenCV is installed on your system. Note the folder where it is installed. For example: C:\OpenCV
  2. Execute CMake with a command line similar to

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

OR

find the folder containing OpenCVConfig.cmake (for example C:\OpenCV\build\x86\vc10\lib) and pass it to CMake via the variable OpenCV_DIR

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

In both cases, I think the provider of the code you try to compile commited an error by putting NO_DEFAULT_PATH in the find_package(OpenCV ...). If nothing work, re-try after removing this flag.

like image 93
Antwane Avatar answered Nov 15 '22 05:11

Antwane


I ran into this same problem a few days ago and this is the code I used to install it onto my system and make it in a way for CMakeLists.txt to understand how to locate those files. This process works for other packages as well.

cd ~/

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

cd opencv

mkdir install

cd install

cmake ../

make

sudo make install

NOTE: It took a long time for opencv to make because of its complexity and size but I am sure there is a way to download and make only certain parts you need. I did not do that because I did not know how.

like image 26
tandamangreen Avatar answered Nov 15 '22 06:11

tandamangreen