我在运行 DirectShow 自带的程序时,发现有的程序在链接时出错。

我在运行 DirectShow 自带的程序时,发现有的程序在链接时出错。
有错误的例子及错误提示如下。

例子AudioCap、DMOEnum、SysEnum、Mapper、StillView、PlayDMO、CompressView、
Jukebox、StillCap、Blender、VMRMix、Blender9、VMRMulti。
LINK : fatal error LNK1104: cannot open file "mfc42ud.lib"

例子AudioBox。
LINK : fatal error LNK1104: cannot open file "uafxcwd.lib"

例子PlayWndASF、ASFCopy。
LINK : fatal error LNK1104: cannot open file "..\..\common\wmstub.lib"

软件环境是 DirectX 9.0 SDK 和 Visual C++ 6.0。DirectX选择的是Debug安装模式。
我已经按照陆其明老师的《DirectShow实务精选》的要求,编译了基类源代码,生成了strmbasd.lib。
也配置了Include目录。

与书中不同的是,我在配置Lib目录时,
书上要求的配置为:
C:\DXSDK\Lib
C:\DXSDK\SAMPLE\C++\DIRECTSHOW\BASECLASSES\DEBUG
C:\DXSDK\SAMPLE\C++\DIRECTSHOW\BASECLASSES\RELEASE
C:\PROGRAM FILES\MICROSOFT SDK\LIB (在勘误表中已经去掉这一行)
C:\Program Files\Micrsoft Visual Studio\VC98\LIB
C:\Program Files\Micrsoft Visual Studio\VC98\MFC\LIB

根据我的安装路径,我的配置为:
D:\Program Files\DXSDK\Lib
D:\PROGRAM FILES\DXSDK\SAMPLES\C++\DIRECTSHOW\BASECLASSES\DEBUG_Unicode
D:\Program Files\Microsoft Visual Studio\VC98\LIB
D:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB


不知道问题出在那里。希望陆老师和各位高手指点一下,我是新手。

 

================================================

今天终于找到答案了。原来是缺少支持Unicode的文件;MFC安装的时候,默认是不安装支持Unicode的相关文件的。
在vc的安装盘上有,在vc98\MFC\Lib\下, 还需要dll,在vc98\Debug下。
把lib放到vc的mfc\lib下,dll放到windows\system32下。
参考网页:http://coosign.bokee.com/5547319.html
希望对遇到同样问题的朋友有所帮助

==============================
这个问题我也说了多少次了:在编译baseclasses生成strmbase.lib的时候,项目要选择debug而不是debug_unicode。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值