Не удалось найти модуль FindOpenCV.cmake (ошибка в процессе настройки) - PullRequest
49 голосов
/ 03 января 2012

Я написал CMakeLists.txt для проекта в C ++ , в котором используются библиотеки OpenCV . Когда я пытаюсь создать проект с помощью cmake, у меня возникает следующая проблема конфигурации:

CMake Error at CMakeLists.txt:15 (find_package):
  Could not find module FindOpenCV.cmake or a configuration file for package
  OpenCV.

  Adjust CMAKE_MODULE_PATH to find FindOpenCV.cmake or set OpenCV_DIR to the
  directory containing a CMake configuration file for OpenCV.  The file will
  have one of the following names:

    OpenCVConfig.cmake
    opencv-config.cmake

Дело в том, что у меня есть переменная окружения для пути, который я использую в Visual Studio без проблем. Если я не включу OpenCV, тогда я могу без проблем настраивать и генерировать, но мне нужно решить проблему. Я не понимаю, почему cmake не может найти путь OpenCV или как его исправить.

Я также использовал рекомендации, упомянутые в этой ссылке: FindOpenCV.cmake

У кого-нибудь тоже была эта проблема?

Ответы [ 12 ]

1 голос
/ 18 октября 2013

На моей машине с Fedora, когда я набрал «make», я получил сообщение об ошибке, в котором не удалось найти «cv.h».Я исправил это, изменив мой файл "OpenCVConfig.cmake".

До:

SET (OpenCV_INCLUDE_DIRS "$ {OpenCV_INSTALL_PATH} / include / opencv; $ {OpenCV_INSTALL_PATH} / include")

SET (OpenCV_LIB_DIR "$ {OpenCV_INSTALL_PATH} / lib64")

После:

SET (OpenCV_INCLUDE_DIRS "/ usr / include / opencv; / usr / include / opencv2")

SET (OpenCV_LIB_DIR "/ usr / lib64")

0 голосов
/ 07 марта 2014

Последовал за ответами @ hugh-pearse и @ leszek-hanusz с небольшим изменением.Я установил opencv из репозитория Ubuntu 12.10 (libopencv- ) * и столкнулся с той же проблемой.Не могу решить это с export OpenCV_DIR=/usr/share/OpenCV/ (так как мой OpenCVConfig.cmake там есть).Это было решено, когда я также изменил некоторые строки в файле OpenCVConfig.cmake:

# ======================================================
# Include directories to add to the user project:
# ======================================================

# Provide the include directories to the caller

#SET(OpenCV_INCLUDE_DIRS "${OpenCV_INSTALL_PATH}/include/opencv;${OpenCV_INSTALL_PATH}/include")

SET(OpenCV_INCLUDE_DIRS "/usr/include/opencv;/usr/include/opencv2")
INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})

# ======================================================
# Link directories to add to the user project:
# ======================================================

# Provide the libs directory anyway, it may be needed in some cases.

#SET(OpenCV_LIB_DIR "${OpenCV_INSTALL_PATH}/lib")

SET(OpenCV_LIB_DIR "/usr/lib")

LINK_DIRECTORIES(${OpenCV_LIB_DIR})

И это работало на моей Ubuntu 12.10.Не забудьте добавить target_link_libraries(yourprojectname ${OpenCV_LIBS}) в ваш CMakeLists.txt.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...