2017-01-12 3 views
0

Я установил OpenCV 3.2 в системный каталог (/usr/local) ... CMake мог найти opencv3.2 автоматически хорошо. Но я должен использовать opencv 2.4 в моем проекте, поэтому устанавливаю opencv 2.4 в моей папке ~/otherlibs.Как CMake найти другую версию lib?

Cmakefile:

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "~/otherlibs") 
find_package(OpenCV 2.4 REQUIRED) 

но CMake всегда есть ошибка, как это:

CMake Error at CMakeLists.txt:15(find_package): 
    Could not find a configuration file for package "OpenCV" that is compatible 
    with requested version "2.4" 

    The following configuration files were considered but not accepted: 
    /usr/local/share/OpenCV/OpenCVConfig.cmake, verison 3.2.0 

кажется CMake всегда найти системный каталог и после того, как находку Opencv.cmake остановится, чтобы найти мой указанный реж ~/otherlibs

+2

Возможный дубликат [CMake не находит включений/библиотек] (http://stackoverflow.com/questions/39126648/cmake-does-not-find-includes-libraries) – usr1234567

ответ

0

Вы пытались использовать -DCMAKE_PREFIX_PATH=/home/myaccount/otherlibs? Это изменит правила cmake для поиска файлов конфигурации и может вам помочь.

+0

Большое спасибо, это работает! Я думал, что 'CMAKE_PREFIX_PATH' только сообщает makefile, где установить lib. – Roby

+0

он не имеет 'CMAKE_PREFIX_PATH', но имеет' CMAKE_INSTALL_PREFIX', я изменил 'CMAKE_INSTALL_PREFIX' – Roby

Смежные вопросы