VS 2005做Filter时碰到的一系列问题

2011-03-05 13:18:03

由于系统环境是Win7,所以所有的DirectShow基类代码已经移到Windows SDKs中了,如我的目录在:E:/Microsoft SDKs/Windows/v7.0/Samples/multimedia/directshow/baseclasses,编译时debug版本和release版本生成的lib文件名字是不同的,前者为strmbasd.lib,后者为strmbase.lib。得把生成的lib文件添加的项目引用中.

还有一个问题是,VS 2005以前,基本上都引用了 largeint.lib,但VS2005没有这个lib了,只要删除此引用即可。但这样还不行,简单删除后,肯定编译不过的,好多CLSID都显示未定义,此时看下面的解释:

在应用strmbase.lib的时候还要注意,在VS2005之前的版本中只需包括此库即可,但在VS2005时就不行了,甚至连基本的CLSID都找不到,事实上在链接时要加上:STRMBASE.lib strmiids.lib winmm.lib dmoguids.lib。这样应用程序编译才能通过。

还有最麻烦的就是工程include lib 引用的位置次序,一不留神,放错了位置,会出现好多的fatal error,其实仅仅是一些includelib的次序问题,下面是一个参考:

include files:

$(VCInstallDir)PlatformSDK/include

E:/Microsoft SDKs/Windows/v7.0/Include

$(VCInstallDir)PlatformSDK/common/include

E:/Microsoft SDKs/Windows/v7.0/Samples/multimedia/directshow/baseclasses

$(VCInstallDir)include

$(VCInstallDir)atlmfc/include

$(FrameworkSDKDir)include

 library files:

$(VCInstallDir)lib

$(VCInstallDir)atlmfc/lib

$(VCInstallDir)atlmfc/lib/i386

$(VCInstallDir)PlatformSDK/lib

$(VCInstallDir)PlatformSDK/common/lib

$(FrameworkSDKDir)lib

$(VSInstallDir)

$(VSInstallDir)lib

E:/Microsoft SDKs/Windows/v7.0/Lib

注意:以上仅为32位设置

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值