我安装了两个OpenCV,一个在/usr/local,另一个在/usr。 因此,/usr/share/OpenCV中有OpencvConfig.cmake适用于Opencv2.4.10,而/usr/local/share/OpenCV中有OpencvConfig.cmake适用于Opencv3.1.0。 在我的项目的cmake中,我将OPencv2.4.10的路径设置为
cmake_minimum_required(VERSION 2.8)
project(five-point-nister)
SET("OpenCV_DIR" "/usr/share/OpenCV")
find_package( OpenCV REQUIRED )
add_executable(five-point-nister
five-point.cpp precomp.cpp modelest.cpp)
target_link_libraries(five-point-nister ${OpenCV_LIBS})
但是当我编译项目时,项目会尝试链接到OPencv3.1.0,导致出现错误:
In file included from /usr/local/include/opencv2/core.hpp:59:0,
from /usr/local/include/opencv2/calib3d.hpp:47,
from /usr/local/include/opencv2/calib3d/calib3d.hpp:48,
按照正确的路径应该是
/usr/include/opencv2
,但现在是/usr/local/include/opencv2
。所以我的项目仍然连接到Opencv3.1.0。 我该如何纠正它? 谢谢
OpenCV_LIBS
和OpenCV_INCLUDE_DIRS
的内容是什么? - Tsyvarev