win7+vs2010 使用camerads类

 出现问题 winnt.h中的错误



在#include "CameraDS.h" 前添加

#define POINTER_64 __ptr64



另外一个问题来源自ywt1126的新浪博客 :CameraDS 类在VS2010下的一些问题及解决方案

然后就是CameraDS的问题了。首先是论坛置顶帖里于老师编写的CameraDS类不能在Vista/Win7+VS2008环境里编译通过。

经查,是 由于VS2008安装时自带的Windows SDK 6.0包含的是DX10的DirectShow,而CameraDS.zip包里包含的是DX9的DirectShow。

所以我们可以删掉 CameraDS包里的DirectShow目录,而改用Windows SDK 6.0带的DirectShow。

因此,在Project->Settings->Settings for:(All configurations)的C/C++和Link中,把所有的DirectShow/Include,变成 $(FrameworkSDKDir)Include;把所有的DirectShow/Lib,变成 $(FrameworkSDKDir)Lib,并且修改CameraDS.h文件,把引用 "DirectShow/Include/qedit.h" 改成 <qedit.h>,把引用 "DirectShow/Include/dshow.h" 改成 <dshow.h>。

存盘后编译仍然会有一个错误,说找不到dxtrans.h文件,这里有解决办 法:http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2617687& SiteID=1。我用的是其中的不修改qedit.h文件的办法,在包含qedit.h的语句前加入五行代码:

#pragma include_alias( "dxtrans.h", "qedit.h" )
#define __IDxtCompositor_INTERFACE_DEFINED__
#define __IDxtAlphaSetter_INTERFACE_DEFINED__
#define __IDxtJpeg_INTERFACE_DEFINED__
#define __IDxtKey_INTERFACE_DEFINED__
#include<qedit.h>



在操作过程中

采用了两种方式 

1,按照ywt1126所述方法$(FrameworkSDKDir)替换DirectShow/Include 出现一个问题无法打开包括文件 qedit.h


>e:\work1\binocular stereo vision\doublecamera_0914test\dstest\camerads.h(27): fatal error C1083: 无法打开包括文件:“qedit.h”: No such file or directory
1>  正在生成代码...
1>  正在编译...
1>  dstest.cpp
1>e:\work1\binocular stereo vision\doublecamera_0914test\dstest\camerads.h(27): fatal error C1083: 无法打开包括文件:“qedit.h”: No such file or directory
1>  正在生成代码..

从directsho/include复制到工程目录下,//#include<qedit.h>替换为//#include "qedit.h",问题解决。新问题是找不到strmbased.lib

1>  正在生成代码...
1>  所有输出均为最新。
1>LINK : fatal error LNK1104: 无法打开文件“strmbasd.lib”

从如下地址

C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Debug

找到strmbasd.lib并复制到工程文件目录 运行通过



2,更改配置如下:

include:
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\common
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses
C:\Program Files\Microsoft SDKs\Windows\v7.1\Include
lib
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Debug
C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值