首先,安装�C6,以及DIRECTSDK,我选择的是DirectX 9.0 SDK Update -
(Summer 2004)
蛭 飧霭姹炯 闪�IRECTSHOW。(当然,这句话是听来的,真实与否我也不知道O(∩_∩)O~)
然后呢,用编译器把DX(DIRECTSDK简称,下同)目录下,Samples\C++\DirectShow\BaseClasses
的项目编译一下,得到开发用的类库。strmbasd.lib和strmbase.lib。
接下来就是重点了,折腾了我一下午。
打开Tools->Option…->Directories里面:
首先选择Include files
DirectX SDK安装目录\Include
DirectX SDK安装目录\Samples\C++\DirectShow\BaseClasses
VS6.0 安装目录\VC98\INCLUDE
VS6.0 安装目录\VC98\MFC\INCLUDE
VS6.0 安装目录\VC98\ALT\INCLUDE
然后选择Library files
DirectX SDK安装目录\Lib
DirectX SDK安装目录\Samples\C++\DirectShow\BaseClasses\Debug
DirectX SDK安装目录\Samples\C++\DirectShow\BaseClasses\Release
VS6.0 安装目录\VC98\LIB
VS6.0 安装目录\VC98\MFC\LIB
以上呢,红色的,是要添加的部分,浅绿色,是原有的。一定要注意顺序,千万不要弄错了。
我看到网上有的资料里,还会添加WINDOWS SDK和DX下的
Samples\C++\DirectShow\Common,不知道是做什么用的。这个问题以后再考虑
吧。:-D
最后,我们在自己新建的项目里,引入库文件。
Debug版本strmbasd.lib, msvcrtd.lib, winmm.lib
Release版本 strmbase.lib, msvcrt.lib, winmm.lib
还有看到的另一个版本是:strmbasd.lib strmiids.lib quartz.lib uuid.lib winmm.lib
uuid.lib和winmm.lib是在引入streams.h头文件时,必须包含的。
以上在WINDOWS 2003 SP2 + 创天中文VC++6.0中测试通过。。。
==========================================================
这是网上找到的一篇文章,按这步骤,我没成功,主要是BaseClasses文件夹里的工程是.net03的,不过我将工程转换成vc6.0后,编译还是没有通过,出现错误
C:\Program Files\Microsoft DirectX 9.0 SDK (Summer 2004)\Include\strmif.h(1018) : error C2146: syntax error : missing ';' before identifier 'HSEMAPHORE'
C:\Program Files\Microsoft DirectX 9.0 SDK (Summer 2004)\Include\strmif.h(1018) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错.