не удалось найти загрузочный файл OpenCVModules.cmake

Я делаю это впервые, но не смог начать работу с CMake find_package (OpenCV)

OpenCVModules.cmake находится в той же папке, что и OpenCVConfig.cmake, но по некоторым причинам конфигурация CMake завершается неудачно с этой ошибкой.

Я на Windows с использованием Visual Studio Express 2010, CMake v2.8.0 и OpenCV v2.4.9

CMake Error at D:/opencv/mybuild/install/x86/vc10/lib/OpenCVConfig.cmake:49 (include):
include could not find load file:

/OpenCVModules.cmake
Call Stack (most recent call first):
CMakeLists.txt:19 (FIND_PACKAGE)

Мне нужно, чтобы это работало с VS 2010 Express, но я могу выбрать любую совместимую версию CMake и OpenCV для этого проекта.

Я делаю это в CMakeLists.txt, и «OpenCVConfig.cmake» является по умолчанию, который поставляется с OpenCV. Я не изменил это.

SET(OpenCV_DIR "D:/opencv/mybuild")
# this project requires OpenCV, so find it
FIND_PACKAGE( OpenCV )
INCLUDE_DIRECTORIES( ${OpenCV_INCLUDE_DIRS} )

Строка № 49 из OpenCVConfig.cmake выглядит следующим образом

  include(${CMAKE_CURRENT_LIST_DIR}/OpenCVModules${OpenCV_MODULES_SUFFIX}.cmake)

Любая помощь в правильном направлении очень ценится. Благодарю.

Update1:
если я изменю строку # 49 жестким кодированием пути, это работает!

include(D:/opencv/mybuild/OpenCVModules${OpenCV_MODULES_SUFFIX}.cmake)

По некоторым причинам $ {CMAKE_CURRENT_LIST_DIR} не устанавливается должным образом.
Это выглядит как динамически изменяемая переменная. Почему это не так, как ожидалось?

3

Решение

Правильная поддержка версий CMake до 2.8.3 не была представлена ​​в OpenCV 2.4.9. В частности, это означает, что CMAKE_CURRENT_LIST_DIR не является определенной переменной в сгенерированном OpenCVConfig.cmake. Это приводит к неправильному формированию пути к OpenCVModules.cmake. По крайней мере, в отношении этой оскорбительной строки в OpenCVConfig.cmake, совместимость для более старых версий CMake не была добавлена ​​до 2.4.11 (я проверил это, посмотрев на ./cmake/templates/OpenCVConfig.cmake.in на OpenCV GitHub).

При этом, если вы можете выбрать, какие версии CMake и OpenCV использовать, то я бы предложил использовать последнюю версию CMake (> = 2.8.12) и последнюю версию OpenCV 2.4 (2.4.13.1) или OpenCV 3.1.

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector