【发布时间】:2018-09-23 18:24:18
【问题描述】:
我的机器上安装了 2 个版本的 OpenCV。一个在/usr/local/opencv3.1。我假设另一个(3.4 版)的安装位置是/usr/local。无论如何,find_package(OpenCV 3.0 REQUIRED) 设置OpenCV_DIR:PATH=/usr/local/share/OpenCV。此文件夹包含:
haarcascades OpenCVConfig.cmake OpenCVModules-release.cmake
java OpenCVConfig-version.cmake valgrind_3rdparty.supp
lbpcascades OpenCVModules.cmake valgrind.supp
在这种情况下,使用版本 3.4。如何在 CMakeLists.txt 中指定使用其他版本(3.1)知道它的安装位置?我试过了:
find_package(OpenCV 3.0 REQUIRED PATH /usr/local/opencv3.1)
返回错误:
Could NOT find OpenCV (missing: PATH /usr/local/opencv3.1) (found suitable version "3.4.1", minimum required is "3.0")
和
set(OpenCV_DIR /usr/local/opencv3.1/OpenCV/*) # also tried OpenCV_ROOT_DIR, OPENCV_ROOT_DIR
find_package(OpenCV 3.0 REQUIRED)
什么都不做。它仍然找到版本 3.4。我会很感激任何帮助。谢谢。
【问题讨论】:
标签: c++ opencv cmake linker shared-libraries