【发布时间】:2015-07-27 11:52:44
【问题描述】:
我通过 Homebrew 安装了 OpenCV 和 OpenCV3。
OpenCV 已链接,可通过 cmake 访问
/usr/local/share/OpenCV
OpenCV3 未链接,位于此处
/usr/local/Cellar/opencv3/3.0.0
我有这个CMakeLists.txt 文件:
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
当我运行cmake 时,它使用的是 OpenCV 的第一个版本。
如何告诉cmake 使用第二个包?
更新:
我试图指定
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "/usr/local/Cellar/opencv3/3.0.0/share/OpenCV")
find_package( OpenCV REQUIRED )
和
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "/usr/local/Cellar/opencv3/3.0.0/share/")
find_package( OpenCV REQUIRED )
但是在CMakeCache.txt我还是看到了这个:
OpenCV_CONFIG_PATH:FILEPATH=/usr/local/share/OpenCV
这又不是我需要的..
谢谢。
【问题讨论】:
-
CMAKE_MODULE_PATH指定cmake脚本的路径,用于查找包。您应该设置 OpenCV 相关的变量,而不是设置此变量。FindOpenCV.cmake中描述的唯一设置变量是OpenCV_DIR。尝试将其设置为/usr/local/Cellar/opencv3/3.0.0。 -
@Tsyvarev 我没有
FindOpenCV.cmake文件。它在您的文件系统中的什么位置? -
无需修改该文件,只需在 CMakeLists.txt 文件中设置变量,就像您尝试使用
CMAKE_MODULE_PATH一样。