Qt4.8.4(msvc2010)编译QtAV
2015-05-10 21:28
387 查看
在教程开始之前,最好先下载我给你的资源,里面有编译QtAV所有的东西(压缩包里面由ffmpeg库、portaudio库、QtAV源码库和我已经编译好的QtAV库),因为不同的QtAV版本编译过程出现的问题不同,本文主要针对我提供的QtAV版本。
链接:http://pan.baidu.com/s/1fNpfC 密码:5qaz
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/05/abf7e823b9c639bd88b1e3c806119207)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/05/409f18ac6a1cffca5447f4182d71ca93)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/05/38e01978b8f19a20db8b354d558092dc)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/05/6a7e2d9eb9b88289b0b54cd7f0bc9bf6)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/05/0e94c37b4b5b0a39f3412f0d3fa5f59f)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/05/c963bc9d9ad773642314739cc7cdd8e1)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/05/7e6dff4824249100cf0aba64d41ccd03)
错误分析:很明显连接器找不到CopyFrame_SSE2.obj文件,其实这个文件就生成在QtAV-master\src里面,所以连接器找不到。打开src目录除了看到CopyFrame_SSE2.obj外还看到CopyFrame_SSE4.obj文件。
1、首先在VS2010里面右键QtAV工程,选择清理后再复制。
2、看清楚要复制的文件夹,因为我是以debug模式输出的,所以是QtAVd_win_x86,如果是release输出要选择QtAV_win_x86。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/05/cc1e1e7750775d67e3e661c5dabe2c35)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/05/87d576a71eb7018ef11540eb0df4df2f)
错误分析:把错误一贴百度谷歌一下都知道编译器不兼容,下面只说解决方法。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/05/457452ca7fadedd6bd46a45bd2d4c11b)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/05/916c6b3f907e6a6da99739756dcfca74)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/05/67935497521652a65438b42bd277efca)
然后右击工程选择生成,最后就能够编译出QtAVWidgetsd.lib和dll了,如下图所示:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202005/05/e1dd7b42b5fd7459c3881c316a7e8980)
————————————————————————————————————————————————————————————————————————
最后运行一个里面的demo试试看~~~
链接:http://pan.baidu.com/s/1fNpfC 密码:5qaz
步骤一:把压缩包和里面的解压好,我解压到D:\QtAv中,如下图所示:
步骤二:打开Qt 4.8.4 Command Prompt,并进入解压目录中的QtAV-master文件夹,如下图所示:
步骤三:输入下面的代码然后按回车(注意自己修改相对应的路径)如下图所示:
set INCLUDE=%INCLUDE%;D:/QtAv/ffmpeg/include;D:/QtAv/portaudio/include set LIB=%LIB%;D:/QtAv/ffmpeg/lib;D:/QtAv/portaudio/lib
步骤四:输入qmake -r -tp vc QtAV.pro 按回车,一会儿之后会看见QtAV-master文件夹会出现QtAV.sln工程文件,如下图所示:
步骤五:用vs2010打开QtAV.sln,配置环境如下图所示:
步骤六:右击QtAV工程选择生成,不要直接点击生成解决方案(之后会出现下面的问题)
错误分析:很明显连接器找不到CopyFrame_SSE2.obj文件,其实这个文件就生成在QtAV-master\src里面,所以连接器找不到。打开src目录除了看到CopyFrame_SSE2.obj外还看到CopyFrame_SSE4.obj文件。
步骤七:把上一步分析中的两个文件复制到QtAV-master\.obj\QtAVd_win_x86里面。
需要注意两点:1、首先在VS2010里面右键QtAV工程,选择清理后再复制。
2、看清楚要复制的文件夹,因为我是以debug模式输出的,所以是QtAVd_win_x86,如果是release输出要选择QtAV_win_x86。
步骤八:继续右键QtAV工程,选择生成。(会出现下面的错误)
错误分析:把错误一贴百度谷歌一下都知道编译器不兼容,下面只说解决方法。
步骤九:按照下图配置:
/NODEFAULTLIB:"libcmtd.lib"
步骤十:重复步骤七(最后编译出QtAVd1.lib和QtAVd1.dll)如图所示:
步骤十一:编译QtAVWidgets工程。
其实QtAV源码里面就编译它跟QtAV工程就够了,其它可以不编译。方法很简单,设置环境,如下图所示:然后右击工程选择生成,最后就能够编译出QtAVWidgetsd.lib和dll了,如下图所示:
————————————————————————————————————————————————————————————————————————
最后运行一个里面的demo试试看~~~
相关文章推荐
- 静态模式编译qt 4.8.4--MSVC 2010
- windows7_QtCreator2.4.1_Qt4.8.0_Qwt6.0.1_msvc2010 编译环境搭建的总结
- windows7_QtCreator2.4.1_Qt4.8.0_Qwt6.0.1_msvc2010 编译环境搭建的总结
- QT+MSVC2010编译32位ORACLE OCI驱动
- 安装qt-opensource-windows-x86-msvc2010_opengl-5.2.1 无法编译
- windows7_QtCreator2.4.1_Qt4.8.0_Qwt6.0.1_msvc2010 编译环境搭建的总结
- MSVC编译的QtQuick1.1程序的部署(Qt 4.8.4)
- 我写的一个Qt 显示二维码( QR Code)的控件(可以去掉对 libpthread 的依赖,而且编译出的库文件可以在 vc2010 的release 模式下使用)
- 海思3536:交叉编译Qt4.8.4
- Qt使用msvc编译MySQL驱动
- Qt5-msvc2012编译安装
- window7 Qt5.9.2 编译 QtAV QMLPlayer 播放器
- QT4.8.4 静态编译
- VS2010 编译64位Qt
- I.MX6Q SABRE Lite在Ubuntu下编译QT4.8.4
- Linux/ubuntu下编译安装QT 4.8 (QT 4.8.4)
- 交叉编译ARM版Qt(qt-everywhere-opensource-src-4.8.4)
- Qt5.5.0编译QtAV
- Linux/ubuntu下编译安装QT 4.8 (QT 4.8.4)
- msvc14.1(vs2017)编译x64的qt5.9.1