如何将 OpenCV 添加到 linux 中的 LD_LIBRARY 路径?

How do I add OpenCV to LD_LIBRARY path in linux?

我用thislink安装了OpenCV。

有效方法:

1.OpenCV 与 python 配合使用(运行 来自终端)。

2.I可以在单个C++程序中导入opencv库。

什么不起作用 :

当代码分布在多个并且您需要使用 CMake 构建它时。

这是我的 CmakeLists.txt :

1.cmake_minimum_required(VERSION 3.9)

2.project(Image_processing)

3.set(CMAKE_CXX_STANDARD 14)

4.find_package(OpenCV REQUIRED)

5.include_directories(/home/user/opencv/build)

6.add_executable(main main.cpp)

7.target_link_libraries(project_name ${OpenCV_LIBS})

错误(可以通过注释上述 CMake 文件中的第 4,5 和 7 行重新生成):

undefined reference 到 OpenCV 函数。

CMake Error at CMakeLists.txt:7 (target_link_libraries): Cannot specify link libraries for target "Image_processing" which is not built by this project.

在您的 CMakeLists.txt 中,exe 名称与目标 link 名称不匹配。我修改了这条线,然后它就可以在我的电脑上运行了。


一个OpenCV ProjectCMakeLists.txt:

cmake_minimum_required(VERSION 3.5)

project(Image_processing)

set(CMAKE_CXX_STANDARD 14)

find_package(OpenCV REQUIRED)

#include_directories(/home/user/opencv/build)

add_executable(Image_processing main.cpp)

target_link_libraries(Image_processing ${OpenCV_LIBS})

更正为:

cmake_minimum_required(VERSION 3.5)

project(Image_processing)

set(CMAKE_CXX_STANDARD 14)

find_package(OpenCV REQUIRED)

include_directories(${OpenCV_INCLUDE_DIRS})

add_executable(main main.cpp)

target_link_libraries(main ${OpenCV_LIBS})