在安装OpenCV时最需要注意的是,OpenCV库,也就是我们需要的dll和动态库需要我们使用CMake来生成。

虽然在官网上下载得到的文件中已经包含了库文件和.h等头文件,但是在具体开发中编译器编译后的源文件都会和库文件去进行链接。

这就导致不同的编译器可能需要不同的库。所以,下载得到源文件之后,要用指定的编译器重新编译。

0. 需要的工具

  • Qt Creator
  • OpenCV
  • CMake
  • cmd

1. Qt Creator安装

这里Qt Creator的安装不在赘述,由于Qt提供的在线下载器太慢,可以直接去qt的离线下载界面下载,使用迅雷会比较快。详细操作可以参考这里。笔者使用的是5.9.0版本。

注意,这里需要在环境变量中的Path变量下添加Qt\Qt5.9.0\Tools\mingwxx_xx\bin路径。例如我在这里添加了F:\Qt\Qt5.9.0\Tools\mingw530_32\bin,否则后面的CMake可能在Configure过后没有对应的选项!

2. OpenCV的下载安装

OpenCV也可以直接在官网下载,这里选择对应的Windows版本,下载后安装。

安装完成后,在环境变量中添加Path变量,我添加的地址为F:\environment\opencv\build\bin。

3. CMake的下载使用

CMake可以直接在官网下载,注意安装的是带有界面的cmake-3.6.1-win64-x64.msi。

安装后打开cmake-gui.exe,Browse Source下选择安装的opencv下的sources文件夹,Browse Build可在opencv下新建一个release目录并选择,完整后点击左下角的Configure,选择MinGW Makefiles。

点击后CMake开始运行,过一段时间,中间会出现许多红色的选项,勾选WITH_OPENGL和WITH_QT,再次点击Configure。

运行完毕后可能还会出现部分红色选项,分别以下表选择对应项目。(有可能只有部分)

Name Value
QT_QMAKE_EXECUTABLE .../Qt/Qt5.3.1/5.3/mingw482_32/bin/qmake.exe
QT_MKSPECS_DIR .../Qt/Qt5.3.1/5.3/mingw482_32/mkspecs
QT_QTCORE_LIBRARY_DEBUG .../Qt/Qt5.3.1/5.3/mingw482_32/bin/Qt5Cored.dll
QT_QTCORE_LIBRARY_RELEAS .../Qt/Qt5.3.1/5.3/mingw482_32/bin/Qt5Core.dll
QT_QTCORE_INCLUDE_DIR .../Qt/Qt5.3.1/5.3/mingw482_32/include/QtCore/5.3.1/QtCore
Qt5_DIR .../Qt/Qt5.3.1

注意:如果你在安装Qt5后,没有给Qt5添加环境变量的话,那么在这一步,CMake软件是不会找到这些和Qt5相关的项的。

配置完成后再次Configure,没有红色选项,CMAKE_BUILD_TYPE选择Release类型,再次点击Configure后没有报错,点击Generate

在Generate结束后需要使用cmd来最后编译生成我们需要的动态dll库。

4. 在cmd中使用mingw32-make命令构建dll库

打开cmd,使用cd命令进入我们刚才在CMake里Browse Build选项中选择的目录,笔者的为F:\environment\opencv\release。(这里可能cd不进去,Windows下切换磁盘直接输入磁盘符+冒号就可以切换到其他盘了)。

f:

cd F:\environment\opencv\release

mingw32-make

等待构建成功后,该目录下的include目录和lib目录下就生成了我们需要的库了。

5. 在Qt Creator的.pro文件中添加配置

在你需要使用OpenCV的项目的.pro文件中添加配置

INCLUDEPATH += E:\opencv-4.0.1-Sources\opencv-build\install\include

LIBS += E:\opencv-4.0.1-Sources\opencv-build\lib\libopencv_*.a

OpenCV+QT5在Window下的环境配置记录的更多相关文章

  1. php在window下的环境配置(VC9)

    配置PHP5:  1. 配置PHP5.3.3,打开php安装目录(笔者是D:\php\php5)可以看到目录下有两个这样的文件php.ini-    development和php.ini-produ ...

  2. Window下PHP环境配置使用Redis总结

    什么是Redis? Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的API.它和Memcached类似,它支持存储的 ...

  3. Qt在window下的环境变量PATH的配置

    Qt在window下的环境变量PATH的配置 路劲: C:\Qt\Qt5.6.0\5.6\mingw49_32\bin C:\Qt\Qt5.6.0\Tools\mingw492_32\bin 发布Qt ...

  4. 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

    原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...

  5. android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

      android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把 ...

  6. Android NDK r8 Cygwin CDT 在window下开发环境搭建 安装配置与使用 具体图文解说

    版权声明:本博客全部文章均为原创.欢迎交流.欢迎转载:转载请勿篡改内容,而且注明出处,谢谢! https://blog.csdn.net/waldmer/article/details/3272500 ...

  7. 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0 +VS 2013 开发环境配置

    图片太多,具体过程参照: [OpenCV入门教程之一] 安装OpenCV:OpenCV 3.0.OpenCV 2.4.8.OpenCV 2.4.9 +VS 开发环境配置 说下我这边的设置: 选择deb ...

  8. Window下mysql环境配置问题整理

    Window下mysql环境配置问题整理 参考如下链接. 无需安装解压版mysql包 创建选项配置 首次启动服务 用mysqld初始化目录 安装后设置和测试 启动服务错误信息 管理员模式打开cmd m ...

  9. Window 下 MySQL 环境的安装

    Window 下 MySQL 环境的安装 简介: MySQL 是最流行的关系型数据库管理系统,在WEB应用方面 MySQL 是最好的RDBMS(Relational Database Manageme ...

随机推荐

  1. java 执行shell命令遇到的坑

    正常来说java调用shell命令就是用 String[] cmdAry = new String[]{"/bin/bash","-c",cmd} Runtim ...

  2. Excel:如何为某一列写相同的数而不是累加的数

    按住CTRL,双击单元格右下角的加号,则该行以下的行都是这个单元格的值 不按CTRL,双击单元格右下角的加号,该行以下的行都是每次加一的数

  3. Chapter05 流程控制(Process Control)

    目录 Chapter05 流程控制 5.1 顺序控制 5.2 分支控制 if-else 单分支基本语法: 双分支基础语法: 多分支基础语法 5.3 嵌套分支 5.4 switch分支结构 5.5 Fo ...

  4. 【python】人脸识别

    #coding:utf-8# from __future__ import print_functionfrom time import time #有些步骤要计时,看每个步骤花多长时间import ...

  5. ASP.NET Core 6框架揭秘实例演示[21]:如何承载你的后台服务

    借助 .NET提供的服务承载(Hosting)系统,我们可以将一个或者多个长时间运行的后台服务寄宿或者承载我们创建的应用中.任何需要在后台长时间运行的操作都可以定义成标准化的服务并利用该系统来承载,A ...

  6. 被广泛使用的OAuth2.0的密码模式已经废了,放弃吧

    最近一直有同学在问,OAuth2密码模式为啥Spring Security还没有实现,就连新的Spring Authorization Server也没有这个玩意儿. 其实这里可以告诉大家,OAuth ...

  7. LGP6156题解

    真·简单题 题目大意 给定 \(n\) 和 \(k\),求出这个柿子的值: \[\sum_{i=1}^n\sum_{j=1}^n(i+j)^k\mu^2(\gcd(i,j)gcd(i,j) \] 按照 ...

  8. 网关中间件-Nginx(一)

    一.Nginx介绍 1.nginx是一个高性能HTTP服务器,反向代理服务器,邮件代理服务器,TCP/UDP反向代理服务器. 2.nginx处理请求是异步非阻塞的,在高并发下nginx 能保持低资源低 ...

  9. CentOS7.5环境下Docker基本操作

     1. 查找Docker中Centos镜像文件 docker search centos 2. 下载Docker中Centos镜像文件(默认下载最新版本) docker pull centos 3. ...

  10. java 和groovy的混合使用

    在应用中,我们可以在一个Java类.一个Groovy类或者一个Groovy脚本中实现某个特定功能.之后可以在Java类.Groovy类或Groovy脚本中调用该功能. 在groovy 使用groovy ...