OpenCV重新安装问题

时间:2017-06-03 05:19:14

标签: opencv cmake

我刚刚安装了OpenCV 2.4.12,并且大约2天前安装了OpenCV 3.2。在我完成安装过程后立即(this是我遵循的指南),我的旧openCV代码会一直告诉我,当我尝试编译它时它找不到cv函数。显然是链接器错误。后来我意识到我应该使用2.4版本,所以我删除了我的主目录中的opencv-3.2.0文件夹,并再次在我的2.4.12文件夹中运行sudo make install。这似乎有效,但无法找到cv功能。

所以这就是我到目前为止所发现的。

我在CMakeLists.txt中打印出一些变量,而我的OpenCV_INCLUDE_DIRS指向/ usr / include / opencv / usr / include,这显然是个问题。但现在我该如何解决呢?我尝试使用此行手动设置该变量

设置($ {OpenCV_INCLUDE_DIRS} / usr / include / opencv /)

但又一次,无济于事。

这是我的CMakeLists.txt:

cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
set( ${OpenCV_INCLUDE_DIRS} /usr/include/opencv/)
include_directories( ${OpenCV_INCLUDE_DIRS} )
MESSAGE( STATUS "CMAKE_ROOT: " ${OpenCV_INCLUDE_DIRS} )
add_executable( DisplayImage DisplayImage.cpp)
SET(OpenCV_LIBS opencv_core opencv_highgui opencv_imgproc)
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
MESSAGE( STATUS "CMAKE_ROOT: " ${OpenCV_LIBS} )

这是我使用的CMake配置。

cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DFORCE_VTK=ON -DWITH_TBB=ON -DWITH_V4L=ON -DWITH_QT=ON -DWITH_OPENGL=ON -DWITH_CUBLAS=ON -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" -DWITH_GDAL=ON -DWITH_XINE=ON -DBUILD_EXAMPLES=ON ..

最后,这是我的配置file

编辑:另外,如果我跑      gcc analyze_video.cpp -o objDetection -lopencv_core -lopencv_imgproc -lopencv_objdetect -lopencv_highgui

然后一切正常。所以我已经构建了库,但是我的CMake配置出了问题。

1 个答案:

答案 0 :(得分:0)

OpenCV_INCLUDE_DIRS是一个列表。在CMake中,message(${OpenCV_INCLUDE_DIRS})将打印每个列表元素,中间没有任何分隔符。此外,OpenCV_INCLUDE_DIRS是标题的路径,而不是库的路径。定义函数时会发生链接错误(即找到标题)但符号不是(即所需的库未链接)。

请通过更新您的问题来澄清您的问题,以包含项目中CMakeLists.txt文件的内容,用于OpenCV构建的CMake配置标志,或者提供GitHub Gists的链接等等。大。您提供的信息越多,有人可以帮助您的速度就越快。