Set Opencv path for a c++ project using Cmake

后端 未结 3 1260
没有蜡笔的小新
没有蜡笔的小新 2021-02-15 17:24

I have two Opencvs, opencv-2.4.10 is installed in /usr and opencv-3.1 is installed in /usr/local. I can set the opencv path in Eclipse easily. In cmake, how can I set the path f

相关标签:
3条回答
  • 2021-02-15 18:07

    None of the other answers worked for me (linux, opencv 4.0.0, haven't tested yet with opencv 3.x.x).

    Adding the following before the line find_package(...) in the CMakeLists.txt worked:

    set(OpenCV_DIR /path/to/opencv_install_dir/lib/cmake/opencv4)
    

    If opencv was compiled from source with a none standard installation target directory, then /path/to/opencv_install_dir is (should be) known, otherwise search for the location of the directory structure lib/cmake/opencv*.

    0 讨论(0)
  • 2021-02-15 18:18

    I don't have a Linux machine to test it on but this is how I do it on Windows 10 64bit.

    I only added a line in the CmakeLists.txt in my program to set the variable OpenCV_DIR used by CMake.

    For example, if OpenCV is installed in C:/opencv, I add

    SET("OpenCV_DIR" "C:/opencv")
    

    in my CMakeLists.txt.

    In your case, it should be something like

    SET("OpenCV_DIR" "/usr/opencv-2.4.10")
    

    But, as I said, I never tested this on Linux.

    0 讨论(0)
  • 2021-02-15 18:21

    This question is a duplicate of How to force c++ compiler use one of different installed package's versions, using CMake? but it is found by search engines so I add the answer from texasflood that I found to be working with CMake 2.8.12.2 and OpenCV 3.2.0 on Ubuntu 12.4:

    Simply change the find_package command:

    find_package(OpenCV REQUIRED PATHS "/usr/opencv-2.4.10")
    
    0 讨论(0)
提交回复
热议问题