directshow 配置

directshow 配置

环境:
Summer 2003版的SDK+vc6
Summer 2003版sdk:
http://download.microsoft.com/download/d/5/d/d5dd3f5e-9d8e-4f6f-914d-98e2fb34629d/dx90updatesdk.exe
开始我下的是 2005的sdk 还有一个extra包,包里的directshow的BaseClasses没有*.dsw,有一个.sln的。
上网一查发现那个好像是vs2005用的。没办法,重下了个summer2003的。终于找到BaseClasses.dsw 马上编译。
(组建-》批组建 中设置debug 版和 release版。还有Unicode最好都选上。开始我没选,后来有个程序报错,
要Unicode的lib,我只好又重新把BaseClasses.dsw编译了一遍。)

下面在vc++中设置:
工具-》选项-》目录    include files添加
C:/DX90SDK/Samples/C++/DirectShow/BaseClasses
C:/DX90SDK/Include
C:/DX90SDK/Samples/C++/Common
这个一定要在vc原来的配置之前。还有我的顺序是这样的,顺序不对编译的时候会报错。
syntax   error   :   missing   ';'   before   identifier   'HSEMAPHORE'  
这个错误我在网上找了半天,才找到解决方法。

library files添加
C:/DX90SDK/Lib
C:/DX90SDK/Samples/C++/DirectShow/BaseClasses/Debug
C:/DX90SDK/Samples/C++/DirectShow/BaseClasses/Release
这也在vc++原来配置之前。
至此配置完成,我打开一个从网上下的视频捕捉程序,结果编译出错。
cannot open file "mfc42ud.lib"
上网一查 说是vc++默认安装的时候没安装支持Unicode的相关文件,我差点重装一遍vc6,还好又在网上找到解决方法。
下了一个包含相关库的MFC42UD.rar,http://coosign.bokee.com/inc/MFC42UD.jpg
解压后lib放到vc的mfc/lib下,dll放到windows/system32,再次编译,通过。


我把从网上下的demo都编译了一遍,还没出现问题。以后有问题再调吧,好累啊~~~
就这些配置我弄了一个下午,赶紧写下来,以后再配的时候可以参照一下。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值