在Windows7系统的VC++6.0下配置DirectShow开发环境

本文要解决的问题:

1.       在WIN7系统下正常使用VC++6.0,解决open file和 add file to project出错的问题

2.       配置DirectShow,编译出debug和release版本的strmbasd.lib和STRMBASE.lib文件

 

我是编程菜鸟一枚,为了干干净净地配置环境还重装了系统。其中出现的各种问题是得益于网上各个大神们的经验总结才得以解决,小女在此做个汇总和总结,希望将来能对像我这样的人有所帮助。

 

如有不当之处,还请多多指教。

 

在WIN7系统下正常使用VC++6.0,解决open file和 add file to project出错的问题

 

这个问题可参考http://club.topsage.com/thread-2279554-1-1.html  说得很详细,简单介绍如下。

 

(1)       安装VC++6.0:运行setup.exe安装程序进行安装后,在选择安装类型这一步选custom→自定义安装点中Tools组件→全部选中→把其中的 OLE/Com Object Viewer 取消→确定→继续默认安装

 

(2)       Win7下VC6打开文件报错导致其崩溃的解决办法:

第一步:在网上搜索下载FileTool.dll文件

第二步:把FileTool.dll文件拷贝至 C:\Program Files\Microsoft Visual Studio\Common\MSDev98\AddIns 文件夹下

第三步:在cmd下手动注册该dll文件:regsvr32 "C:\Program Files\Microsoft Visual Studio\Common\MSDev98\AddIns\FileTool.dll"具体方法为:开始→运行→输入regsvr32"C:\Program Files\Microsoft  Visual Studio\Common\MSDev98\AddIns\FileTool.dll"→注册成功

第四步:打开VC6,右击工具栏,自定义→附加项和宏文件,选中 FileTool Developer Studio Add-in 附加项

这个时候就会出现 A 和 O 的文件栏按钮,表示Add File To Project 和Open今后再打开文件/工程或是添加文件到工程的时候,用这两个按钮,不要用VC6默认的了。这样就不会再出问题了。

 

配置DirectShow,编译出debug和release版本的strmbasd.lib和STRMBASE.lib文件

 

开始我用的Microsoft DirectX 9.0 SDK (Summer 2004)版本,因为据说这是最后一个DirectX sdk带有DirectShow的版本了,但是这个版本不提供能够用VC6.0打开的baseclasses.dsw,只有将baseclasses.sln转换为baseclasses.dsw才能编译。而在编译过程中,会产生错误:

error C2146: syntax error : missing ';' before identifier 'HSEMAPHORE'
fatal error C1004: unexpected end of file found


这两条错误,定位到strmif.h文件是这条语句
typedef double REFTIME;
typedef DWORD_PTR HSEMAPHORE;
typedef DWORD_PTR HEVENT;

 

这个问题我没有找到解决办法,于是重新下载了9.0b版本的sdk,这个版本是适用于VC6.0环境的,里面带有可直接编译的dsw文件。但在编译之前,要在网上下载一个wmstub.lib文件,放在C:\Program Files\Microsoft Visual Studio\VC98\MFC\Lib下,然后开始编译。

 

编译过程:

打开baseclasses.dsw

工程→设置→library→Win32 Debug设置文件名:Debug\strmbasd.lib→Win32 Release设置文件名Release\STRMBASE.lib→确定

组建→批组建→勾选BaseClasses—Win32 Debug和BaseClasses—Win32 Release→组建

执行完以上步骤后,则在BaseClasses文件下生成Debug和Release文件夹,里面分别含有strmbasd.lib和STRMBASE.lib文件。

 

确认安装了MicroSoft SDK后可以把将DirectX SDK的Include和Lib目录配置到VC的系统目录中了。

 

配置方法:

打开VC,工具→选项→目录→目录下选include files→路径如下(安装路径不同会略有不同):

D:\Program Files\DXSDK90b\Include

D:\Program Files\DXSDK90b\Samples\C++\DirectShow\BaseClasses

D:\Program Files\DXSDK90b\Samples\C++\Common

C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE

C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE

C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE

目录下选library files,路径如下:

D:\PROGRAM FILES\DXSDK90B\LIB

D:\PROGRAM FILES\DXSDK90B\SAMPLES\C++\DIRECTSHOW\BASECLASSES\DEBUG

D:\PROGRAM FILES\DXSDK90B\SAMPLES\C++\DIRECTSHOW\BASECLASSES\RELEASE

D:\PROGRAM FILES\MICROSOFT PLATFORM SDK\LIB

C:\Program Files\Microsoft Visual Studio\VC98\LIB

C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB

 

以上就是DShow的配置过程,接下来可以制作播放器了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值