我第一次这样做,但无法使用 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} )
OpenCVConfig.cmake 中的第 49 行看起来像这样
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} 未正确设置。这看起来像动态变化的变量。为什么这没有按预期设置?