【问题标题】:How do I add OpenCV to LD_LIBRARY path in linux?如何在 linux 中将 OpenCV 添加到 LD_LIBRARY 路径?
【发布时间】:2018-01-25 18:27:21
【问题描述】:

我使用this 链接安装 OpenCV。

什么有效

1.OpenCV 在 python 上运行良好(从终端运行)。

2.我可以在单个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.

【问题讨论】:

    标签: c++ linux opencv pkg-config


    【解决方案1】:

    改正:

    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})
    

    【讨论】:

      【解决方案2】:

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


      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})
      

      【讨论】:

        猜你喜欢
        • 2013-04-25
        • 2020-06-27
        • 2010-10-09
        • 2021-02-25
        • 1970-01-01
        • 2013-03-05
        • 1970-01-01
        • 2020-07-01
        • 2019-11-08
        相关资源
        最近更新 更多