注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

hhfighting的博客

以责人之心责己,以恕己之心恕人

 
 
 

日志

 
 
 
 

DirectShow小记  

2011-07-28 11:50:37|  分类: 每日小记 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

DirectShow在DX9.0b之前是默认包含在DX中的,在DX9.0c开始,则被独立成一个库,使用时需要重新安装。后来又被MS加入到了Windows SDK中。在VS2008中,安装后出现的WinSDK6.0a已经包含了Directshow。

下面总结一下可能会遇到的一些错误。(这些错误是在使用camerads的时候遇到的)

(1)error C2146: syntax error : missing ';' before identifier 'PVOID64'

解决办法:directshow的头文件和库文件目录包含到工程中。

(2)在...\DirectShow\Include\dxtrans.h 头文件中,不能打开d3d.h文件。最后发现还是在原来的DirectShow目录找dxtrans.h文件。

文件CameraDS.h:
#include <atlbase.h>
#include "DirectShow/Include/qedit.h"
#include "DirectShow/Include/dshow.h"
#include <windows.h>
#include <cxcore.h>

解决方法是把引用 "DirectShow/Include/qedit.h" 改成 <qedit.h> ,把引用 "DirectShow/Include/dshow.h" 改成 <dshow.h>。 存盘后,编译,再次出现错误:

1>CameraDS.cpp
1>c:\program files\microsoft sdks\windows\v6.0a\include\qedit.h(498) : fatal error C1083: File (Include) can not open: "dxtrans.h": No such file or directory

一查看,没在WinSDK的目录上找到dxtrans.h,上网一查,新的DS不在包含这个文件。

关于此问题的解决方案:

在调用 包含qedit.h 的命令前加入:
#define __IDxtCompositor_INTERFACE_DEFINED__

 再修改qedit.h 中引用 dxtrans.h 的部分,要求注释掉
#include "oaidl.h"
#include "ocidl.h"
//#include "dxtrans.h"
#include "amstream.h"

参考:

http://www.cnblogs.com/pcmax/archive/2008/11/22/1338989.html
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2617687&SiteID=1

*DirectShow: http://msdn.microsoft.com/en-us/library/ms783323(VS.85).aspx
**DirectX(Feb 2005): http://dev.csdn.net/article/62/62941.shtm
#define __IDxtAlphaSetter_INTERFACE_DEFINED__

#define __IDxtJpeg_INTERFACE_DEFINED__

#define __IDxtKey_INTERFACE_DEFINED__

#include <qedit.h>

来源网站:http://www.vista123.com/vista/8915.html

  评论这张
 
阅读(539)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018