000 缺少streams.h的解决方法和DirectShow开发环境的搭建

Post date: 2015/4/14 上午 02:52:23

这几天在学DirectShow的开发,一个streams.h头文件折腾了一整天才搞定。简单总结一下出现缺少streams.h的解决方法和DirectShow开发环境的搭建。

开发包方面,我用的是VC2005+Windows Server 2003 SP1 SDK。微软真是神经,把DirectShow又从DirectX中拿出去了。这不是调戏咱们程序员么……

streams.h这个头文件现在在%Platform SDK Root%/Samples/Multimedia/DirectShow/BaseClasses路径下,首先要把这个路径添加到VC的Include Directories下面。

最令我ft的是DirectShow的library,真不知道M$的人是不是脑子坏掉了,库居然要自己编译。一开始我翻遍了硬盘也没找到strmbasd.lib,最后在BaseClasses目录下看到一个makefile,才知道是怎么回事。扯远了,打住。打开SDK的command line debug build environment ,进入%Platform SDK Root%/Samples/Multimedia/DirectShow/BaseClasses目录,二话不说nmake,生成一个XP32_DEBUG目录(我选的是Set Windows XP 32-bit Build Environment (Debug)),strmbasd.lib赫然在目,这就是debug版的库,retail版的如法炮制,生成的库在XP32_RETAIL目录下,名为strmbase.lib。

因为库有两个,分别对应Debug和Release,你可以把它拷到SDK的Lib目录下,然后在工程的Debug设置和Release设置里设好库的名字就可以了,当然也可以不拷,怎么用随便你。