Could not find module FindOpenCV.cmake ( Error in configuration process)

前端 未结 12 2183
既然无缘
既然无缘 2020-11-29 02:04

I wrote a CMakeLists.txt for a project in C++, which uses OpenCV libraries. When I try to create the project using cmake, I ge

相关标签:
12条回答
  • 2020-11-29 02:31

    If you are on Linux, you just need to fill the OpenCV_DIR variable with the path of opencv (containing the OpenCVConfig.cmake file)

    export OpenCV_DIR=<path_of_opencv>
    
    0 讨论(0)
  • 2020-11-29 02:33

    I had this exact same problem. I fixed it by adding the following line to my FindOpenCV.cmake file. Put it anywhere at the top before the rest of the code.

    set (OpenCV_DIR /home/cmake/opencv/compiled) #change the path to match your complied directory of opencv
    

    Basically you are telling FindOpenCV.cmake where to find opencv files assuming the other compilation can find the FindOpenCV.cmake

    0 讨论(0)
  • 2020-11-29 02:33

    Another possibility is to denote where you can find OpenCV_DIR in the CMakeLists.txt file. For example, the following cmake scripts work for me:

    cmake_minimum_required(VERSION 2.8)
    
    project(performance_test)
    
    set(OpenCV_STATIC ON)
    set(OpenCV_CUDA OFF)
    set(OpenCV_DIR "${CMAKE_SOURCE_DIR}/../install")
    
    find_package(OpenCV REQUIRED)
    
    include_directories(${OpenCV_INCLUDE_DIRS})
    
    link_directories(${OpenCV_LIB_DIR})
    
    file(GLOB my_source_files ./src/*)
    
    add_executable( performance_test ${my_source_files})
    
    target_link_libraries(performance_test ${OpenCV_LIBS})
    

    Just to remind that you should set OpenCV_STATIC and OpenCV_CUDA as well before you invoke OpenCVConfig.cmake. In my case the built library is static library that does not use CUDA.

    0 讨论(0)
  • 2020-11-29 02:35

    find / -name "OpenCVConfig.cmake"

    export OpenCV_DIR=/path/found/above

    0 讨论(0)
  • 2020-11-29 02:35

    I faced the same error. In my case this "OpenCVConfig.cmake" file is located in /usr/local/share/OpenCV. In CMakeLists.txt add the line

    set(OpenCV_DIR /usr/local/share/OpenCV)

    as suggested by the error message.

    0 讨论(0)
  • 2020-11-29 02:36

    Followed @hugh-pearse 's and @leszek-hanusz 's answers, with a little tweak. I had installed opencv from ubuntu 12.10 repository (libopencv-)* and had the same problem. Couldn't solve it with export OpenCV_DIR=/usr/share/OpenCV/ (since my OpenCVConfig.cmake whas there). It was solved when I also changed some lines on the OpenCVConfig.cmake file:

    # ======================================================
    # Include directories to add to the user project:
    # ======================================================
    
    # Provide the include directories to the caller
    
    #SET(OpenCV_INCLUDE_DIRS "${OpenCV_INSTALL_PATH}/include/opencv;${OpenCV_INSTALL_PATH}/include")
    
    SET(OpenCV_INCLUDE_DIRS "/usr/include/opencv;/usr/include/opencv2")
    INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
    
    # ======================================================
    # Link directories to add to the user project:
    # ======================================================
    
    # Provide the libs directory anyway, it may be needed in some cases.
    
    #SET(OpenCV_LIB_DIR "${OpenCV_INSTALL_PATH}/lib")
    
    SET(OpenCV_LIB_DIR "/usr/lib")
    
    LINK_DIRECTORIES(${OpenCV_LIB_DIR})
    

    And that worked on my Ubuntu 12.10. Remember to add the target_link_libraries(yourprojectname ${OpenCV_LIBS}) in your CMakeLists.txt.

    0 讨论(0)
提交回复
热议问题