OpenCV使用Cmake来管理工程

写篇入门级别的文章,对于配置OpenCV很多人不知道有这种方法,其实这种方法在OpenCV编译过程中已经使用到的了,如果有手动编译OpenCV经验的同学可以很快的学会这种工程管理方法

方法优点,只要有源代码,跨操作系统什么的都是分分钟的事,废话不多说,下面开始(本文以图为主)

第一步:你要有个Cmake,这个倒网上下一个就行,Linux和Mac下有命令行版本也有界面版本的,Windows下主要使用界面版本的

第二步:需要一个cMakeLists.txt 的脚本文件:

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

FIND_PACKAGE( OpenCV REQUIRED )                              # 环境变量中寻找OpenCV的库的位置
INCLUDE_DIRECTORIES(${Depth_Segment_SOURCE_DIR}              # 将目录下的头文件加入到工程
"C:/OpenCV2411/include/opencv"                               # 这里写头文件的位置,linux下不需要
"C:/OpenCV2411/include/opencv2"                              # 这里写头文件的位置,linux下不需要
)

ADD_EXECUTABLE(Depth_Segment main.c)                         # 将文件加入工程,有多少.c或者cpp都加进去
TARGET_LINK_LIBRARIES (Depth_Segment ${OpenCV_LIBS})         # 这两行的次序也不能变!加入动态链接库
# ########## end ####################################

部分已经给出了注释,下面开始生成工程文件。

在生成工程之前,先说下文件结构

---src

| ---main.c

| ---cMakeLists

---bin

| ----工程文件

第三步:开始使用Cmake:

成功,工程文件生成完成:

时间: 2024-10-10 08:25:01

OpenCV使用Cmake来管理工程的相关文章

CMAKE设置VS工程中Debug和Release不同的输出名称

CMAKE在管理工程时,需要同时编译Debug和Release版本,但是两个版本输出的文件无论是lib还是dll,名称都是是完全相同. 如果要输出在同一个目录中是非常麻烦的,非常容易混淆,可以使用以下命令设置debug和Release输出文件后缀的方式进行区分: if(WIN32 AND NOT MINGW) if(NOT DEFINED CMAKE_DEBUG_POSTFIX) set(CMAKE_DEBUG_POSTFIX "_debug") endif() if(NOT DEFI

CMAKE设置INSTALL工程,分别设置头文件、Lib和DLL的输出路径

使用CMAKE管理工程,可以设置工程中的INSTALL项目运行时安装的路径,使用命令:install. 可以简单的设置安装文件的路径和文件夹: set(head_files //要安装的头文件 ) install(TARGETS ${head_files} DESTINATION ${CMAKE_BINARY_DIR}/include) install(TARGETS myLib DESTINATION ${CMAKE_BINARY_DIR}/Lib) 上述设置方法会将Lib文件和DLL文件安装

用workspace管理工程,并解决多静态库依赖

最近我在项目中遇到一些工程之间的管理问题. 模型: 其中 库A 是一个公共的基础静态库, M_A依赖A, N_A依赖A, 而项目工程Test依赖A,M_A,N_A这三个库. 用workspace管理项目和依赖的库 Test,A库,M_A库,N_A库分别为4个Project,并被一个workspace进行管理,看截图: 按照常规,我们会在M_A, N_A静态库项目的Build Phases->Link Binary With Libraries中添加A.framework.在Test项目的相同位置

使用CMake构建复杂工程

0. 什么是CMake CMake是一个跨平台的编译.安装.测试以及打包工具:CMake不直接编译软件,而是结合原生构建系统来构建软件.CMake配置文件是CMakeList.txt文件(每个源码文件夹下都要有一个),CMake根据配置文件在生成Unix的Makefile或VS的solution文件等. 1. 为什么选CMake 别人为什么选CMake我不清楚,我是因为在Linux上直接写Makefile太痛苦,而项目又会跨平台,Windows和Linux都要有 2. 用一个简单工程来说明CMa

linux下cmake编译C++工程之总结篇

昨天正式把项目编译完成,经历了一周的摸索和折磨后,最后也想:oh,it's so easy! 但是过程确实困难的,因为cmake官方只有API的解释,而且解释的不是很清楚. 一般项目都是狠复杂的层级关系 这种如何来写cmake呢? 首先要知道一个很重要的东西,cmake是一定要从顶级目录开始,才能继承目录,比如直接在project1目录里用../lib是无效的,因为cmake并不知道: 而如果在project下建立cmakelists.txt 然后add_subdir(project1),pro

ubuntu下,VSCode采用cmake编译C++工程

首先在VSCode中下载CMake和CMake Tools两个插件. 选中CMake Tools,可以看到在VSCode中如何使用cmake编译C++工程的教程. 官网教程 最重要且最实用: https://vector-of-bool.github.io/docs/vscode-cmake-tools/getting_started.html 细致讲解: https://vector-of-bool.github.io/docs/vscode-cmake-tools/configuring.h

树莓派 安装 OpenCV 使用CMake 编译工程 最新版2015

一.安装make,cmake sudo apt-get install make sudo apt-get install cmake 二.下载deb包 去这里下载libopencv_2.4.10.deb.zip(我不太好下载,折腾了好久最后是用手机流量才下载下来,电脑一直下载到一大半就停止不动了) 那个deb的作者还发了这个帖子,有问题可以去问 三.安装deb包 解压.deb.zip,复制到RPi上,到那个目录里,然后执行 sudo dpkg -i ./libopencv_2.4.10.deb

vs2008+cmake2.8+OpenCV2.8.4配置过程中OpenCV.sln重编译部分工程失败

解决方法来自此链接 http://www.tuicool.com/articles/qiQBb2N vs2008+cmake2.8+OpenCV2.8.4配置过程 1.解压opencv2.4.8 2. CMake2.8 生成VS2008版本的解决方案 3.OpenCV.sln重新编译,出现问题出现14个工程编译错误,几乎都提示缺少opencv_ocl248d.lib, 单独对工程进行opencv_ocl工程 进行生成操作,发现与opencl_kernels.hpp相关. 于是搜索得文章最上方连接

怎样使用projectproperty sheet(.vsprops)来管理工程

IDE:VS2005 前言 Project Property Sheet的意思是项目属性表,在大型项目中基本上都会使用.一般来说,在一个大型项目中,对于每个工程来说,很多属性设置是完全相同的,譬如公共头文件路径,公共通用函数/库,公共静态链接库,相同的编译优化选项等等,很多.而工程数目可能上则十数个,多则上百个,一个个的去配置工程属性,工作量大不说,还很容易配错,而使用项目属性表则可以明显减少工程的错误设置,明显减少工程的重复设置,显著降低程序员的工作量(虽然很多地方是项目经理统一配置的),本文