Configurer un projet C++ OpenCV avec Cmake

je considère que c'est une étape fondamentale pour créer des projets qui utilisent des bibliothèques OpenCV, donc vous n'avez pas besoin d'inclure manuellement toutes les bibliothèques. Il n'y a pas d'informations détaillées sur ce sujet, au moins pour un internaute novice qui veut simplement utiliser OpenCV dès que possible, donc:

Quelle est la manière la plus simple et évolutive de créer une OpenCV multiplateforme c++ avec Cmake?

22
demandé sur Jav_Rock 2012-12-20 14:45:15

2 réponses

le Premier: créer un dossier Projet contenant deux sous-dossiers src et include et un fichier appelé CMakeLists.txt.

Deuxième: mettez votre cpp dans le dossier src et vos en-têtes dans les dossiers include.

Troisième: Vos Listes De Cmakel.txt devrait ressembler à ceci:

cmake_minimum_required(VERSION 2.8) 
PROJECT (name)
find_package(OpenCV REQUIRED )
set( NAME_SRC
    src/main.cpp    
)

set( NAME_HEADERS       
     include/header.h
)

INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR}/include )
link_directories( ${CMAKE_BINARY_DIR}/bin)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
add_executable( name ${NAME_SRC} ${NAME_HEADERS} )

target_link_libraries( sample_pcTest ${OpenCV_LIBS} )

Quatrième: ouvrir GUI CMake et sélectionner le dossier racine comme entrer et créer un dossier de construction pour la sortie. Cliquez sur Configurer, puis générer, et choisissez le générateur (VisualStudio, Eclipse,...)

27
répondu Jav_Rock 2012-12-20 21:57:14

j'utilise opencv3.0 et cmake3.8, config ci-dessous travailler pour moi!

######## A simple cmakelists.txt file for OpenCV() #############  
cmake_minimum_required(VERSION 2.8)                          # 初始化Cmake版本检测  
PROJECT(word)                                       # 工程名  

FIND_PACKAGE( OpenCV REQUIRED )                              # 环境变量中寻找OpenCV的库的位置  
INCLUDE_DIRECTORIES( ${OpenCV_INCLUDE_DIRS} )

ADD_EXECUTABLE(word main.c)                         # 将文件加入工程,有多少.c或者cpp都加进去  
TARGET_LINK_LIBRARIES (word ${OpenCV_LIBS})         # 这两行的次序也不能变!加入动态链接库  
########### end ####################################  
5
répondu 姚嘉辉 2017-05-27 15:42:39