Cmake自动配置openCV

首先,在使用CMake之前请先从CMake网站(http://www.cmake.org)上下载最新版的安装文件并在你的机子上安装,你也可以下载CMake源码,然后在你机子上编译;对于使用CMake的童鞋,建议用傻瓜式安装方式就行了(这里所做的例子全是在Windows 7平台上的。)

然后,还要确保你的机子已经安装了一种编译器,我机子上安装的是VS2010。你也可以选择其他编译器,建议用VS2008或以上版本的,个人觉得比较好用。

接着在你机子的某个盘里建一个新的文件夹,如我这里的完整路径是:D:\CMake\CMake-Study\HelloCMake; 然后在HelloCMake文件夹里建立一个HelloCMake.cpp文件,里面的代码如下:

#include <iostream>

int main()

{

std::cout<<"Study CMake Together - Hello CMake!"<<std::endl;

return 0;

}

然后在HelloCMake文件夹里建立一个CMakeLists.txt文件,注意文件名不能是别的,必须叫这个名字。里面的内容如下:

cmake_minimum_required(VERSION 3.3.1)

project(HelloCmake)

add_executable(HelloCMake hellocmake.cpp)

接着在HelloCMake的同级目录里建立一个新的文件夹,就叫做HelloCMake-bin,在我机子上的完整路径是:D:\CMake\CMake-Study\HelloCMake-bin,你可以针对自己的目录路径对号入座。

然后打开CMake程序,界面如图(1):

图(1)

图(2)

接着把包含CMakeLists.txt和HelloCMake.cpp文件的完整路径给”where is the source code”,把最后建立的HelloCMake-bin目录的完整路径给”where to build the binaries”,然后按Cofigure,界面如图(2)。

Configure完了以后,再按Generate,直到所有的红色选项都变成灰色为止。界面如图(3)。然后打开HelloCMake-bin,你会发现原来空的文件夹里面自动生成了好多文件,如图(4)。

图(3)

图(4)

到此为止,工程构建完成,打开HelloCMake-bin目录下的HelloCMake.sln,里面有三个工程,分别是:ALL_BUILD;HelloCMake;ZERO_CHECK。这三个工程的大概作用如下(个人理解而已),HelloCMake就不用说了,自己要建立的那个工程;ALL_BUILD是管理整个项目的工程;ZERO_CHECK是实时监视CMakeLists.txt文件变化的工程,一旦CMakeLists.txt里的内容发生了任何变化,ZERO_CHECK就会告诉编译器要重新构建整个工程环境。所以,你可以先把工程关掉,打开CMakeLists.txt文件,更改里面的内容以后,把根据以上说的步骤走一遍CMake;你也可以在编译器环境(如VS2008)中更改CMakeLists.txt文件,然后直接F7编译工程。如果你选择后者,你会发现如图(5)所示的现象发生。

因为你改变了CMakeLists.txt的内容,工程的环境要重新构建、设置。所以你必须加载新的工程环境设置。点Yes,然后点Reload。重新加载设置过的工程环境。

另外一个经常看某些童鞋问的,就是当弹出图(6)所示的界面时要怎么办?能怎么办?界面上提示已经灰常清楚了,指定exe的路径给它,然后点OK就可以了;出现这种情况的原因是你把没有生成exe可执行文件的工程设为启动工程了,如图(6)所示,你会发现ALL_BUILD这个工程名字是黑体显示的,表示它是启动工程;或者你把生成exe可执行文件的工程,如这里的HelloCMake右击->设置为启动工程,也不会出现如图(6)所示的界面。

好,这些比较琐碎的东西介绍完,我们一起来看看CMakeLists.txt里面的代码表示什么意思,争取每句代码都作解释,如果有不对的地方,一定要告诉我!

图(5)

图(6)

把CMakeLists.txt里的内容再罗列出来:

1. cmake_minimum_required(VERSION 3.3.1)

2. project(HelloCmake)

3. add_executable(HelloCMake hellocmake.cpp)

第1行,cmake_minimum_required(VERSION 3.3.1)这是对CMake版本的要求,基本上每个CMakeLists.txt文件里都会有这句代码,cmake_minimum_required是cmake里的命令,可大写小写。VERSION这个关键字必须是大写,而且不能省略;3.3.1就是CMake的版本号。

第2行,project(HelloCmake),project也是CMake的命令,里面的参数HelloCMake是你要生成的工程的名字,换句话说就是生成的***.sln或者***.dsw等工程项目文件的名字。

第3行,add_executable(HelloCMake hellocmake.cpp),add_executable同样是CMake的命令,链接有关的源文件,然后生成exe可执行文件,这是这个命令的作用。第一个参数是生成的exe文件的文件名,一般与project里的工程名一致,这样编译生成的文件就分别是HelloCMake.sln和HelloCMake.exe,当然也可以不一样。Add_executable()后面的是一个参数列表,可带多个要编译的文件名,中间以空格或回车等隔开,如可以加入:

add_executable(HelloCMake hellocmake.cpp hellocmake.h)

这样就把CMake里最常用的三个命令介绍完了,分别是cmake_minimum_required; project; add_executable等,关于这三个命令的完整参数列表可以参考http://www.cmake.org网站上的东西,也可以从http://vislabproject.googlecode.com/svn/trunk/CMake/下载CMake入门的一些英文资料。

注意:如果出现dos窗口一闪而过的情况,可以使用Ctrl+F5编译运行。

时间: 2024-09-29 22:18:38

Cmake自动配置openCV的相关文章

Ubuntu 18.04配置OpenCV 4.2.0

目录 Step 1: 安装OpenCV的依赖包 Step 2: 下载OpenCV 4.2.0和OpenCV Contrib 4.2.0 Step 3: 使用cmake构建库 Step 4: 使用make构建库 Step 5: 修改opencv4.pc文件 Step 6: 在.bashrc文件中添加PKG_CONFIG_PATH Step 7: 使用C++代码进行验证 本文主要介绍在Ubuntu 18.04中从源码安装配置OpenCV,并使用一个简单的例子验证是否安装成功: 具体安装配置步骤,参考

CentOS系统上编译、安装、配置OpenCV

声明:本文是个人根据相关博客资料加上自己的经验整理,在此分享以供大家学习交流! 假设CentOS系统下的CodeBlocks已经安装完成,下面我们要在CentOS平台下编译OpenCV,并在CodeBlocks下进行开发测试. (1)下载OpenCV源码,并编译安装 当前最新的版本是OpenCV-2.2,可以从http://sourceforge.net/projects/opencvlibrary/上下载. OpenCV的编译方式有两种,一种是传统的./configure ; make ; m

CentOS7配置opencv for python &amp;&amp; eclipse c/c++

1, 卸载安装过程中有瑕疵的 opencv    删除/usr/local/lib 和/usr/local/include/中的所有带 opencv 字眼的    # rm -rf /usr/local/lib/libopencv*    # rm -rf /usr/local/include/opencv*    之后重新编译 2, 安装 ffmpeg    安装 ffmpeg,直接 yum 显示没有 ffmpeg 软件包(因为与 centos7 相应的 epel, rpmforge 包正式版

在Ubuntu 12.04系统中安装配置OpenCV 2.4.3的方法

在Ubuntu 12.04系统中安装配置OpenCV 2.4.3的方法   对于,在Linux系统下做图像识别,不像在windows下面我们可以利用Matlab中的图像工具箱来实现,我们必须借助OpenCV这个开源的图像处理库.但是如何在Ubuntu下面安装呢,其实初学者来说的确很蛋疼,需要配置依赖库的之类的很繁琐. 下面我就以我自己的安装经历给大家一个示例吧. Step 1:建立OpenCV所需的依赖关系.这是一般安装需要自己编译软件的第一步,也是最为重要的一步.在这里强烈建议大家安装一个“新

win7设置固定IP重启后无法上网,ipconfig显示为自动配置IPV4 169.254的地址

近日安装原版Win7系统打完网卡驱动补丁后,给电脑设置了固定的IP地址后一切正常,但是电脑重启后发现上不了网了,右下角网络图标有个感叹号,打开网络和共享中心-->本地连接-->详细信息-->发现IPv4的地址与ipconfig /all得到的IP地址一致,均显示为:自动配置IPv4地址:169.254.123.188(首选) 但是查看本地连接-->属性里看到之前设置的固定IP地址是没有问题的, 所以想到了应该是电脑启用了自动配置IPv4功能,导致了固定IP无法分配给电脑, 尝试用命

一个由于springboot自动配置所产生的问题的解决

由于我的项目里面需要使用到solr,我做了一下solr和springboot的整合,结果启动项目的时候,就报错了...报错的信息的第一行提示如下: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'solrClient' defined in class path resource [org/springframework/boot/autoconfigure/solr/

网络连接详细信息出现两个自动配置ipv4地址

  问题:网络连接详细信息出现两个自动配置ipv4地址,一个是有效地址,一个是无效地址.   解决办法:先将本地连接ip设置成自动获取,然后点击开始-->运行-->输入cmd,回车,进入命令行界面,输入ipconfig  /release回车,然后输入ipconfig  /renew,然后等待ip更新,一般到这里问题已经解决,然后再设置静态ip就行了.

【OpenCV笔记】使用VS2012和OpenCV2.4.9搭建配置OpenCV开发环境

使用MS Visual C++来创建OpenCV工程,由于不同的VS版本在配置时有所差别,现特把配置过程总结下来,以方便自己和其他朋友使用. 1.软件准备 安装Visual Studio2012和OpenCV2.4.9 这里就不再对软件的安装和环境变量的设置进行说明了,其他类似的文章的设置都大抵相似,本文重点介绍一下VS2012环境的配置. 2.配置VS2012环境 (1)新建工程 你可以创建简单的控制台应用或者拥有图形用户界面的复杂应用,此处我们选择最简单常用的控制台应用. 理解解决方案(So

Java环境变量自动配置。嗯,就是用C#去配置JDK

在跟学弟们聊天的过程中,发现一些人在首次接触Java时,对环境变量配置总是很生疏.可能是由于初学,对一些概念没有很深刻的理解.本着助人为乐的精神.我决定帮他们一下.写一个自动配置JDK环境变量的小工具. 其实,整个过程的逻辑并不难: 1.找到jdk的安装路径(默认为C:\Program Files\Java\jdkxxx,xxx指版本号字符串). 2.在环境变量中添加 JAVA_HOME 变量,用于标记jdk路径,在下面的步骤中会用到,其值为 第1步中找到的jdk文件夹路径. 3.在环境变量中添