windows系统——opencv安装

首先安装opencv之前要安装CMake

下载地址: http://www.cmake.org/cmake/resources/software.html

根据自己的需要下载相应的包即可,Windows下可以下载zip压缩的绿色版本,还可以下载源代码。

(我下载的就是zip)

接着安装vs2017(本人安装的是,因为比较熟悉),注意选配的时候把和CMake有关的全都勾上,避免后面CMake的正常使用。(注意:如果下载的是vs2017 community版本的,可以直接登录,没有账号的可以在微软账号官网申请,这样就可以逃出30天免费试用期限的魔咒了!)

以上完成之后,可以使用CMake了,甩出一套小白教程。


例1 使用cmake-gui与VS生成器

本例使用cmake-gui和VS生成器构建出VS工程,然后用VS工具打开项目进行编译。

1. 新建CMakeTest目录,在CMakeTest目录下新建demo1目录,作为测试项目的根目录。在demo1下新建main.cpp和CMakeLists.txt文件。


main.cpp文件的内容很简单,就是输出一个提示字符串:

#include <iostream>

using namespace std;

void main()

{

    cout<<"cmake test demo 1"<<endl;

    getchar();

}



文件内容如下:

# CMake最低版本要求

cmake_minimum_required(VERSION 3.10.1)

# 项目信息

project(demo1)

# 指定生成目标

add_executable(demo main.cpp)

CMakeLists.txt 的语法比较简单,由命令、注释和空格组成。命令由命令名称、小括号和参数组成,参数之间使用空格进行间隔,且命令是不区分大小写的。符号 # 后面的内容被认为是注释。

对于上面的 CMakeLists.txt 文件,依次出现了几个命令:

cmake_minimum_required:指定运行此配置文件所需的 CMake 的最低版本,如果低于3.10.1版本,则构建过程会被终止

project:参数值是 demo1,该命令表示项目的名称是 demo1

add_executable: 将名为 main.cpp 的源文件编译成一个名称为 demo 的可执行文件

2. 打开cmake-gui程序,在上方配置两个目录:

第一个是CMakeLists文件目录,cmake据此开始执行

第二个是cmake构建后的项目目录

3. 配置好点击[Configure]开始执行配置过程。首先会弹出编译器选择界面,此处使用默认的VS2015-32位编译器,直接点击[Finish],开始配置。

4. 第一次配置完成后如图所示,红色的两行是新的配置值,再次点击[Configure]即可。

5. 配置完成后,在build目录生成了如下的文件

6. 点击[Generate],开始生成VS项目

7. 生成完成后,在build目录下生成了demo1对于的VS项目

8. 通过点击cmake-gui中下放的[Open Project]按钮或者直接双击build目录下的demo1.sln,即可在VS中打开工程。

9. cmake生的demo1工程总共有3个项目

ZERO_CHECK:该项目会检查生成工程的 CMake 配置文件( CMakeLists.txt )是否更新。如更新,将运行 CMake 重新生成工程文件。如果确信 CMakeLists.txt 不会被更新,或者希望手工运行 CMake 重新生成工程文件,可以在 CMakeLists.txt 配置文件中添加 set(CMAKE_SUPPRESS_REGENERATION FALSE) 命令, ZERO_CHECK 目标将不会生成。

ALL_BUILD:该目标会导致工程中所有项目被构建,类似 Visual Studio 的 Build All 或者 make 的 make all命令。

demo:项目本身,就是在CMakeLists.txt文件中配置的project(demo1)

10. 在VS中通过单独生成项目demo1或者直接生成项目All_BUILD后,可以在build下的相应目录看到可执行文件demo.exe已经生成。双击demo.exe后,可以看到程序输出。

11. 如果不想用VS打开工程,也可以使用msbuild.exe编译demo1工程。首先需要打开VS命令行,因为cmake-gui中选择的编译器是32位的,所以此处选择”VS2015 x86 本机工具命令提示符”。

打开后在命令行中进入到demo1的build目录,执行msbuild demo1.sln即可编译demo1项目。编译完成后可以在debug中看到生成的demo.exe文件,双击可运行。

#例2 使用cmake命令与nmake生成器 本例使用cmake命令行与nmake生成器构建Makefile,然后用nmake编译项目。

1. 新建项目demo2,将demo1中的main.cpp和CMakeLists.txt文件拷贝过来。将CMakeLists.txt文件中的project项目配置为demo2。 2. 同样从VS命令行进入到demo2目录,执行命令:

cmake -G "NMake Makefiles" .

执行完毕后,即可看到在demo2目录中生成了一些文件:

其中重要的是Makefile文件,这是用来编译项目的。在命令行中继续执行nmake命令开始编译,编译完成后可以看到在demo2目录生成了demo.exe程序。允许后可以看到输出。

例3 PreLoad.cmake用法

在命令行下使用cmake,需要用”-G”选项指定生成器。每次都输入感觉比较麻烦,可以将其配置在”PreLoad.cmake”文件中。新建项目demo3,准备好main.cpp和CMakeLists.txt文件,然后demo3目录下新建文件”PreLoad.cmake”,输入:

set(CMAKE_GENERATOR "NMake Makefiles" CACHE INTERNAL "" FORCE)

然后执行"cmake ."即可配置,然后执行"nmake"就可以编译。

————————————————

本文部分为CSDN博主「元子丰」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/yaoyuanyylyy/article/details/79024962

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容