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?
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,...)
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 ####################################