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