将 OpenCV 与 CLion 结合使用

Using OpenCv with CLion

嘿,我正在尝试在初级 OS(基于 Ubuntu)上使用 OpenCV Lib。

我遵循了这个教程:

https://www.youtube.com/watch?v=i1K9rXiei9I

我将这行添加到 CmakeList.txt:

find_package(OpenCV REQUIRED)

include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries(myOpenCVTest ${OpenCV_LIBS})

但是当我构建项目时它失败并出现一些错误,例如:

/usr/bin/ld: cannot find -lopencv_core
...

谁能帮帮我???

我不得不在 cmake 文件中强制声明 OpenCV_FOUND 1,整个文件看起来像:

cmake_minimum_required(VERSION 3.3)
project(testing)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(OpenCV_FOUND 1)
find_package( OpenCV REQUIRED )

set(SOURCE_FILES main.cpp)

add_executable(testing ${SOURCE_FILES})

target_link_libraries(testing ${OpenCV_LIBS})

(在评论区关注我们的聊天)

我不确定您使用什么视频进行安装,但假设您使用基于 cmake 的安装,您通常 运行 make 后跟 sudo make install 将所有内容复制到右侧位置

或者您可以添加 link_directories(home/Projects/opencv/opencv-3/build/lib/) include_directories((home/Projects/opencv/opencv-3/include/) 到你的 CMakeLists.txt

我解决了问题。

首先我删除了所有旧的 OpenCV 文件和安装。

之后我按照这个 guide 安装 OpenCV 和所有必需的包。

现在一切正常 CmakeList.txt:

cmake_minimum_required(VERSION 2.8.4)
project(OpenCVTest)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

find_package( OpenCV REQUIRED )
set(SOURCE_FILES main.cpp)
add_executable(${PROJECT_NAME} ${SOURCE_FILES})
include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries( ${PROJECT_NAME} ${OpenCV_LIBS} )