在windows环境下将基于FFMpeg和SDL的播放器集成到Qt creator中
2015-11-17 20:00
555 查看
首先,你得有一个基于FFmpeg和SDL的播放器,这个不用自己写,网上有开源代码/article/1379090.html
然后,你得有在windows下的FFmpeg以及SDL的头文件和库文件,上面给的这个链接中,博主已经把所有的头文件和库文件都给出来了。
一点题外话:其实FFmpeg的头文件和库文件不需要自己编译,FFmpeg的官网上https://ffmpeg.org/download.html就有已经编译好的头文件和库文件都给出来了,比如你想要windows下编译出来的头文件和库文件,就点windows的那个图标,如下图咯,然后点那个超链接,对于你需要下载什么样的文件,网页上都有指示,这就不用我多说了。但是如果对编译过程有兴趣的也可以自己研究一下。官网上有教程http://ffmpeg.org/platform.html#toc-Native-Windows-compilation-using-MinGW-or-MinGW_002dw64这里也有一个简洁明了的教程/article/6224642.html,可以将二者结合起来看。
再然后,在QT的工程文件.pro里面添加头文件和库文件的路径。关于添加库文件的方法,网上有很多种格式,貌似都可以,反正条条大路通罗马。
重要:如果你只做到这一步就去运行你的工程,程序会异常退出,错误代码-1073741515,调试的时候弹窗提示during startup program exited with code 0xc0000135。这是因为程序中应该是调用了非Qt自带的动态链接库(FFmpeg和SDL库),而qt creator没有找到这个些库,这时候就需要将程序中调用的动态连接库复制到工程的编译目录。(详细分析错误代码-1073741515的原博链接)简单粗暴地说,就是将那些.dll文件复制到.exe文件所在的目录中。
最后,没有最后~做完上面这一步程序就可以运行了。至于调用这个后台程序的QT界面怎么写以及如何将第一个链接里面提供的那份开源代码加到QT中,就不是本文的重点了。其实本文也并没有哪里看起来像重点。
然后,你得有在windows下的FFmpeg以及SDL的头文件和库文件,上面给的这个链接中,博主已经把所有的头文件和库文件都给出来了。
一点题外话:其实FFmpeg的头文件和库文件不需要自己编译,FFmpeg的官网上https://ffmpeg.org/download.html就有已经编译好的头文件和库文件都给出来了,比如你想要windows下编译出来的头文件和库文件,就点windows的那个图标,如下图咯,然后点那个超链接,对于你需要下载什么样的文件,网页上都有指示,这就不用我多说了。但是如果对编译过程有兴趣的也可以自己研究一下。官网上有教程http://ffmpeg.org/platform.html#toc-Native-Windows-compilation-using-MinGW-or-MinGW_002dw64这里也有一个简洁明了的教程/article/6224642.html,可以将二者结合起来看。
再然后,在QT的工程文件.pro里面添加头文件和库文件的路径。关于添加库文件的方法,网上有很多种格式,貌似都可以,反正条条大路通罗马。
INCLUDEPATH += E:/ffmpeg/include/libavcodec \
E:/ffmpeg/include/libavdevice \
E:/ffmpeg/include/libavfilter \
E:/ffmpeg/include/libavformat \
E:/ffmpeg/include/libavutil \
E:/ffmpeg/include/libpostproc \
E:/ffmpeg/include/libswresample \
E:/ffmpeg/include/libswscale \
E:/ffmpeg/include/SDL2
LIBS += E:/ffmpeg/lib/avcodec.lib
LIBS += E:/ffmpeg/lib/avdevice.lib
LIBS += E:/ffmpeg/lib/avfilter.lib
LIBS += E:/ffmpeg/lib/avformat.lib
LIBS += E:/ffmpeg/lib/avutil.lib
LIBS += E:/ffmpeg/lib/postproc.lib
LIBS += E:/ffmpeg/lib/swresample.lib
LIBS += E:/ffmpeg/lib/swscale.lib
LIBS += E:/ffmpeg/lib/SDL2.lib
LIBS += E:/ffmpeg/lib/SDL2main.lib
重要:如果你只做到这一步就去运行你的工程,程序会异常退出,错误代码-1073741515,调试的时候弹窗提示during startup program exited with code 0xc0000135。这是因为程序中应该是调用了非Qt自带的动态链接库(FFmpeg和SDL库),而qt creator没有找到这个些库,这时候就需要将程序中调用的动态连接库复制到工程的编译目录。(详细分析错误代码-1073741515的原博链接)简单粗暴地说,就是将那些.dll文件复制到.exe文件所在的目录中。
最后,没有最后~做完上面这一步程序就可以运行了。至于调用这个后台程序的QT界面怎么写以及如何将第一个链接里面提供的那份开源代码加到QT中,就不是本文的重点了。其实本文也并没有哪里看起来像重点。
相关文章推荐
- QT5笔记:关闭应用程序和窗口的函数
- Qt5 任务栏托盘功能实现
- Qt解决中文乱码问题(2)
- QT解决中文乱码问题(1)
- Ⅰ.2.6.3.4 如何测试 QTableViews(QAbstractItemModels 和 QItemSelectionModels)中的 Items
- MQTT协议实现(一)
- 我的QT5学习之路(三)——模板库、工具类和控件(上)
- VTK6.3+Qt5.4编译
- Ⅰ.2.6.3.3 如何测试 QTableWidgets 中的 Items
- ubuntu12.04LTS+Qt4.8.6+opencv2.4.9
- 老李分享:qtp自动化测试框架赏析-关键字自动化测试框架
- QTP自动化测试培训:描述编程之WebElement
- qt中qDebug()无法输出解决办法
- QT 编译问题
- 设置Qt应用程序图标及应用程序名
- QTreeView 限制特定的深度、特定深度下的列 是否可以编辑
- 无法定位程序输入点strnlen于动态链接库msvcrt.dll上
- VS2010下QT的简单使用
- Ⅰ.2.6.3 如何测试Item Views、Item Widgets 和 Models 中的Items (Qt 4)
- Qt核心剖析: moc