2019独角兽企业重金招聘Python工程师标准>>>

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

VS2008+QT4.8.7编译QTAV问题和解决方法相关推荐

  1. UI控件问题和XCode编译警告和错误解决方法集锦 (持续更新ing)

    UI控件问题集锦 第一 图片无法在UIImageview上显示: 原因如下: 1.没有设置宽高(或者宽高为0) 2.位置不对 3.hidden=YES 4.没有添加到控制器的view上面 第二 一个U ...

  2. sublime text3 中 python3编译出现中文乱码解决方法

    sublime text3 中 python3编译出现中文乱码解决方法 参考文章: (1)sublime text3 中 python3编译出现中文乱码解决方法 (2)https://www.cnbl ...

  3. Eclipse不编译java文件的解决方法

    Eclipse不编译java文件的解决方法 A:1.在preference-Java-complier-builing中的选项从默认的error改成warning就可以成功访问 2.点击"P ...

  4. c语言编译配置文件出错,Android4.4/CM11编译常见错误及解决方法!

    Android4.4/CM11编译常见错误及解决方法! 前言:关于Android4.4/CM11编译中遇到的一些错误,本人进行了整理.有需要的童鞋可以做个参考,如果有什么建议也欢迎指出! 问题1: 编 ...

  5. Maven在pom文件中添加资源插件后,src/main/resource目录中的文件编译后不拷贝解决方法。

    在pom文件中添加以下资源插件后 <!--添加的资源插件--> <build><resources><resource><directory> ...

  6. uClinux 内核编译常见错误及解决方法(zt)

    uClinux 内核编译常见错误及解决方法(uClinux kernel compile Troubleshooting) uClinux kernel compile Troubleshooting ...

  7. MSP430F435 c语言IAR编译软件报错解决方法笔记

    IAR编译软件报错解决方法 1.问题一:堆栈溢出出现警告.已进入主函数就开始报警堆栈溢出. 报错原因:在主函数中定义了大量的大数组,看门狗已经关闭,但仍未完成数据初始化,导致堆栈溢出. 解决方法:定义 ...

  8. Android4.4/CM11编译常见错误及解决方法!

    Android4.4/CM11编译常见错误及解决方法! 前言:关于Android4.4/CM11编译中遇到的一些错误,本人进行了整理.有需要的童鞋可以做个参考,如果有什么建议也欢迎指出! 问题1: 编 ...

  9. Linux编译遇到各种错误解决方法,例如 /lib/modules/3.10.0-(xxx).el7.x86_64/build: No such file or directory. Stop.

    Linux编译遇到各种错误解决方法,例如: /lib/modules/3.10.0-(xxx).el7.x86_64/build: No such file or directory. Stop. 背 ...

最新文章

  1. oracle取32位唯一码,Oracle导出导入dmp文件命令,以及excel生成32位uuid
  2. 18不使用委托实现能自动侦测车距的智能汽车
  3. 利用返回引用来操作结构体
  4. 用神经网络分类连续与离散
  5. sklearn中的回归决策树
  6. python利用numpy创建数组(等比,等差,空数组,1数组)
  7. 【Redis学习】Transaction事务管理
  8. Server被UDP流量***
  9. java获取指定倒退或向前的时间工具类
  10. win10环境下mysql8安装后Can‘‘t connect to MySQL server on localhost (10061)解决方法
  11. python旋转matplotlib绘制的三维图
  12. 图像灰度化方法总结及其VC实现
  13. 使用PS创造非凡动物形象
  14. QTableView固定行显示的问题
  15. TIFF图像文件格式详解——转载
  16. vue 时间方法(yyyy-mmmm-dddd hh:mm:ss)
  17. Python闭包理解
  18. 公司网络机房搭建,信息化目标,网络故障处理办法
  19. Texmaker+Miktex配置
  20. 基于css的表单模板

热门文章

  1. 漫画 | 如果程序员的妈是产品经理,她会如何逼你结婚?
  2. Netflix创始人:我不要求996,一样市值1万亿
  3. 主宰这个世界的10种算法
  4. NLP模型BERT和经典数据集!
  5. 剑指offer_第12题_数值的整数次方
  6. 大神开发arXiv全新H5版,一步告别公式排版错误,手机也能轻松看文献
  7. 中科院院士「修正」了麦克斯韦方程?研究发材料期刊,两度热搜,两极评价...
  8. 华为又牵手名校,这次是他!
  9. 大陆唯一7nm光刻机被抵押!武汉千亿投资、台积电大牛掌舵的芯片项目官宣停摆...
  10. 华为副总裁因家庭原因提出辞职…… 任正非:你可以离婚啊!