I have 2 versions of OpenCV installed on my machine. One is in /usr/local/opencv3.1
. I presume the install location of the other one (version 3.4) is /usr/local
. Anyway, find_package(OpenCV 3.0 REQUIRED)
sets OpenCV_DIR:PATH=/usr/local/share/OpenCV
. This folder contains:
haarcascades OpenCVConfig.cmake OpenCVModules-release.cmake
java OpenCVConfig-version.cmake valgrind_3rdparty.supp
lbpcascades OpenCVModules.cmake valgrind.supp
In this case, version 3.4 is used. How can I specify in CMakeLists.txt to use the other version (3.1) knowing its install location? I've tried:
find_package(OpenCV 3.0 REQUIRED PATH /usr/local/opencv3.1)
Which returns an error:
Could NOT find OpenCV (missing: PATH /usr/local/opencv3.1) (found suitable version "3.4.1", minimum required is "3.0")
and
set(OpenCV_DIR /usr/local/opencv3.1/OpenCV/*) # also tried OpenCV_ROOT_DIR, OPENCV_ROOT_DIR
find_package(OpenCV 3.0 REQUIRED)
Which does nothing. It still finds version 3.4. I'd be grateful for any help. Thank you.
See Question&Answers more detail:os