W7下QT5.8+opencv2.4.9+ffmpeg

前言

由于作者是配置成功再写文档,所以部分步骤没有截图,不清楚的地方可以给我留言。

环境

-w7 64位
-QT5.8 https://www.qt.io/
-opencv2.4.9 选择Win pack http://opencv.org/releases.html
-ffmpeg https://ffmpeg.zeranoe.com/builds/ static shared dev三个都下载,我使用的是32位的,原因是前一天使用64位的没有配置成功,具体原因未知。

QT安装

官网下载即可,环境变量选项选择对所有人。

OpenCV2.4.9

1.编译

1.1先是点击exe文件选择解压位置
这里写图片描述
然后添加环境变量
C:\opencv\build\include\
C:\opencv\build\include\opencv\
C:\opencv\build\include\opencv2\

1.2下载安装Cmake
作者下载的是cmake-3.8.2-win64-x64.msi,下载链接如下https://cmake.org/files/v3.8/cmake-3.8.2-win64-x64.msi,之后添加C:\CMake\bin到系统变量。

1.3打开Cmake,设置路径:
这里写图片描述

1.4点击Configure
这里写图片描述

1.5next之后配置C和C++编译器路径(根据自身环境设置,以下给出作者路径),配置完之后点击Finish
C:\Qt\5.8\mingw53_32\bin\gcc.exe
C:\Qt\5.8\mingw53_32\bin\g++.exe

1.6作者首先就出现了一个错误,总提示提示找不到sh.exe,由于作者之安装过Git Bash,所以我直接在cmake标红的选项中找到配置sh.exe那个,将路径设置为D:\soft\Git\bin\sh.exe

1.7点击Configure,勾选WITH_QT和WITH_OPENGL,但是在此之后作者遇见了opencv配置python接口的错误,为避免麻烦就把BUILD_opencv_python选项勾去掉(虽然这个问题也好解决,但是第一因为作者用不到这个;第二是作者电脑上有多个版本opencv,其他版本的之前搞定过了,所以懒了。)

1.8点击Configure之后又出现了一些错误,解决方法如下:
Qt5Concurrent_DIR值为:C:\Qt\5.8\mingw53_32\lib\cmake\Qt5Concurrent
Qt5Core_DIR值为:C:\Qt\5.8\mingw53_32\lib\cmake\Qt5Core
Qt5Gui_DIR值为:C:\Qt\5.8\mingw53_32\lib\cmake\Qt5Gui
Qt5Test_DIR值为:C:\Qt\5.8\mingw53_32\lib\cmake\Qt5Test
Qt5Widgets_DIR值为:C:\Qt\5.8\mingw53_32\lib\cmake\Qt5Widgets
Qt5OpenGL_DIR值为:C:\Qt\5.8\mingw53_32\lib\cmake\Qt5OpenGL
搞定之后点击Configure,显示Configuring done之后,点击Generate

1.9开始编译
在编译之前,在目录C:\opencv\sources\cmake\下找到OpenCVCompilerOptions.cmake文件。
打开文件,找到add_extra_compiler_option(-Werror=non-virtual-dtor)注释掉。
这里写图片描述
打开cmd使用cd命令到C:\opencv\MinGW_build,使用mingw32-make进行编译,成功之后使用mingw32-make install命令,成功之后添加C:\opencv\MinGW_build\bin至系统变量。

2.QT中环境
在.pro文件中添加

INCLUDEPATH+= C:\opencv\build\include\
C:\opencv\build\include\opencv\
C:\opencv\build\include\opencv2\

LIBS+=C:\opencv\MinGW_build\lib\libopencv_*.dll.a

至此就搞定了,具体的测试可以找一些小程序跑一下就好。

ffmpeg

1.我将三个版本全部下载之后命名为:
C:\ffmpeg\dev
C:\ffmpeg\shared
C:\ffmpeg\static

2.添加环境变量:
C:\ffmpeg\shared\bin

3.pro文件中添加:
INCLUDEPATH+=C:\ffmpeg\dev\include
LIBS+=C:\ffmpeg\dev\lib*.dll.a

4.mainwindow.h中添加:

        using namespace std;
        extern "C"
        {
           #include<libavcodec/avcodec.h>
           #include<libavformat/avformat.h>
           #include<libswscale/swscale.h>
           #include<libavdevice/avdevice.h>
           #include<libavformat/version.h>
           #include<libavutil/time.h>
           #include<libavutil/mathematics.h>

        }


至此全部搞定。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值