2019独角兽企业重金招聘Python工程师标准>>>
VS2008+QT4.8.7编译QTAV问题和解决方法
1.下载windows依赖文件QtAV-depends-windows-x86+x64.7z,为了方便,直接将对应的头文件、静态库和动态库放在QT安装目录对应的位置;
2.设置系统环境变量(如果已配置请忽略):
系统环境变量添加:新建系统变量,QTDIR->C:Qt4.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: 无法打开输入文件“...objQtAVd_win_x86CopyFrame_SSE2.obj” QtAV
搜索程序目录下CopyFrame_SSE2.obj和CopyFrame_SSE4.obj,放到...objQtAVd_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_x86common.lib”
common.lib改为commond.lib
完=======================
补充一点:步骤一我将依赖的文件直接放到QT安装目录,是因为按照官方的编译方法,在编译的时候设置环境变量,但是不行,无奈才这样做的。
以下方法我测试没用,有兴趣可以试下:
VC: INCLUDE and LIB
set INCLUDE=E:QtworkspaceQtAVQtAV-depends-windows-x86+x64include;%INCLUDE%
set LIB=E:QtworkspaceQtAVQtAV-depends-windows-x86+x64lib;%LIB%
windows cmd.exe environment without UNIX Shell command line
set CPATH=E:QtworkspaceQtAVQtAV-depends-windows-x86+x64include:$CPATH
set LIBRARY_PATH=E:QtworkspaceQtAVQtAV-depends-windows-x86+x64lib:$LIBRARY_PATH
我在两台电脑上面编译遇到的以上问题,都得以解决,希望能帮到大家。
转载于:https://my.oschina.net/chamsdoncon/blog/794627
最后
以上就是呆萌冥王星最近收集整理的关于VS2008+QT4.8.7编译QTAV问题和解决方法VS2008+QT4.8.7编译QTAV问题和解决方法的全部内容,更多相关VS2008+QT4内容请搜索靠谱客的其他文章。
发表评论 取消回复