VS2008+QT4.8.7编译QTAV问题和解决方法

VS2008+QT4.8.7编译QTAV问题和解决方法


1.下载windows依赖文件QtAV-depends-windows-x86+x64.7z,为了方便,直接将对应的头文件、静态库和动态库放在QT安装目录对应的位置;


2.设置系统环境变量(如果已配置请忽略):
    系统环境变量添加:新建系统变量,QTDIR->C:\Qt\4.8.7,值根据自己的安装目录而定;
    编辑系统变量path,在末尾加上;%QTDIR%\bin


3.生成VS2008工程文件:
运行Visual Studio 2008 命令提示,进入QTAV源码根目录,运行:
qmake -r -tp vc QtAV.pro

4.用VS2008打开目录下上一部生成的QtAV.sln文件,按F7生成解决方案,遇到一下问题,依次解决即可:


4.1 M_PI_2未定义
在src/corelib/kernel/qmath.h中M_PI之后定义M_PI_2
#ifndef M_PI_2
#define M_PI_2    (1.57079632679489661923)  /* pi/2 */
#endif

4.2 错误    1    fatal error LNK1181: 无法打开输入文件“..\.obj\QtAVd_win_x86\CopyFrame_SSE2.obj”    QtAV
搜索程序目录下CopyFrame_SSE2.obj和CopyFrame_SSE4.obj,放到..\.obj\QtAVd_win_x86\目录

4.3
AVPlayer.h
std::numeric_limits::max()
出现如下错误: 
warning     C4003:     “max”宏的实参不足       
error     C2589:     “(”     :     “::”右边的非法标记
需要把max用括号括起来避免和windows定义的宏混淆
(std::numeric_limits::max)()
因为Windef.h中定义了
#ifndef max
#define max(a,b)            (((a) > (b)) ? (a) : (b))
#endif
所以会产生编译错误

4.4
项目: Player, 配置: Debug Win32 ------
1>正在链接...
1>LINK : fatal error LNK1181: 无法打开输入文件“E:/Qt/workspace/QtAV/QtAV/lib_win_x86\common.lib”
common.lib改为commond.lib

完=======================
补充一点:步骤一我将依赖的文件直接放到QT安装目录,是因为按照官方的编译方法,在编译的时候设置环境变量,但是不行,无奈才这样做的。
以下方法我测试没用,有兴趣可以试下:
VC: INCLUDE and LIB
set INCLUDE=E:\Qt\workspace\QtAV\QtAV-depends-windows-x86+x64\include;%INCLUDE%
set LIB=E:\Qt\workspace\QtAV\QtAV-depends-windows-x86+x64\lib;%LIB%

windows cmd.exe environment without UNIX Shell command line
set CPATH=E:\Qt\workspace\QtAV\QtAV-depends-windows-x86+x64\include:$CPATH
set LIBRARY_PATH=E:\Qt\workspace\QtAV\QtAV-depends-windows-x86+x64\lib:$LIBRARY_PATH

我在两台电脑上面编译遇到的以上问题,都得以解决,希望能帮到大家。

转载于:https://my.oschina.net/chamsdoncon/blog/794627

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值