使用Cmake为c ++项目设置Opencv路径

时间:2016-05-20 01:43:27

标签: opencv cmake

我有两个Opencv,opencv-2.4.10安装在/ usr中,opencv-3.1安装在/ usr / local中。我可以轻松地在Eclipse中设置opencv路径。在cmake中,如何设置我喜欢用于该项目的opencv之一的路径? 感谢

3 个答案:

答案 0 :(得分:6)

这个问题是How to force c++ compiler use one of different installed package's versions, using CMake?的重复,但它是由搜索引擎找到的,所以我在Ubuntu 12.4上添加了我发现使用CMake 2.8.12.2和OpenCV 3.2.0的answer from texasflood

只需更改find_package命令:

find_package(OpenCV REQUIRED PATHS "/usr/opencv-2.4.10")

答案 1 :(得分:2)

我没有Linux机器来测试它,但这是我在Windows 10 64bit上的方法。

我只在我的程序的CmakeLists.txt中添加了一行来设置CMake使用的变量OpenCV_DIR

例如,如果在C:/opencv中安装了OpenCV,我会添加

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

在我的CMakeLists.txt中。

在你的情况下,它应该像

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

但是,正如我所说,我从来没有在Linux上测试过它。

答案 2 :(得分:0)

没有其他答案对我有用(Linux,opencv 4.0.0,尚未使用opencv 3.x.x进行测试)。

在CMakeLists.txt的find_package(...)行之前添加以下内容:

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

如果opencv是从具有非标准安装目标目录的源代码编译的,那么/path/to/opencv_install_dir是(应该)已知的,否则请搜索目录结构lib/cmake/opencv*的位置。