2015-11-29 1 views
3

Lorsque vous utilisez des bibliothèques comme OpenCV avec C/C++, des variables comme OpenCV_LIBS sont utilisées pour diriger le compilateur/éditeur de liens vers les répertoires appropriés.Vérification de l'emplacement des variables de chemin d'inclusion/bibliothèque comme OpenCV_LIBS dans unix

Exemples d'utilisation :

include_directories(${OpenCV_INCLUDE_DIRS}) 
target_link_libraries(project_name ${OpenCV_LIBS}) 

Comment puis-je vérifier où des variables pointent à? J'ai essayé de taper set ou printenv dans le terminal mais il montre seulement quelques variables de système. Comment puis-je définir/modifier de telles variables?

Répondre

1

Ces variables sont déterminées par (voir OpenCVConfig.cmake pour une description plus détaillée des variables CMake disponibles).

Pour voir ces valeurs que vous pouvez ajouter message() appels après la find_package(OpenCV) appel à votre projet de CMakeLists.txt:

find_package(OpenCV) 

message(STATUS "OpenCV_INCLUDE_DIRS = ${OpenCV_INCLUDE_DIRS}") 
message(STATUS "OpenCV_LIBS = ${OpenCV_LIBS}") 

Sinon, vous pouvez exécuter find_package via une option de ligne de commande CMake.

Voici quelques exemples (la partie CMAKE_PREFIX_PATH est facultative si CMake ne parvient pas à trouver votre chemin d'installation des bibliothèques automatiquement):

  1. MODE=COMPILE donner include (par exemple avec MSVC compilateur)

    $ cmake 
        --find-package 
        -DNAME=OpenCV 
        -DCOMPILER_ID=MSVC -DMSVC_VERSION=1700 
        -DLANGUAGE=CXX 
        -DMODE=COMPILE 
        -DCMAKE_PREFIX_PATH:PATH=/path/to/your/OpenCV/build 
    
  2. MODE=LINK donnant des bibliothèques de liens (par exemple avec GNU compilateur)

    $ cmake 
        --find-package 
        -DNAME=OpenCV 
        -DCOMPILER_ID=GNU 
        -DLANGUAGE=CXX 
        -DMODE=LINK 
        -DCMAKE_PREFIX_PATH:PATH=/path/to/your/OpenCV/build 
    

Note: Cet appel CMake va créer un sous-répertoire CMakeFiles dans votre répertoire de travail courant.


Références