这几天在学DirectShow的开发,一个streams.h头文件折腾了好几天才搞定。简单总结一下出现缺少streams.h的解决方法和DirectShow开发环境的搭建。
开发包方面,我用的是Microsoft DirectX 9.0 SDK。
streams.h这个头文件现在在%\DX9 SDK\Samples\C++\DirectShow\BaseClasses路径下,首先要把这个路径添加到VC的Include Directories下面。TOOL--option--directories下面框里添加上streams.h的目录)。
debug版的库 strmbasd.lib在安装包\DX9 SDK\Samples\C++\DirectShow\BaseClasses\Debug_Unicode目录下
retail版的库strmbase.lib在%\Program Files\Microsoft Visual Studio\VC98\Lib目录下
因为库有两个,分别对应Debug和Release,你可以把它拷到SDK的Lib目录下,然后在工程的Debug设置和Release设置里设好库的名字就可以了,当然也可以不拷,怎么用随便你。
安装完directx sdk后,要将directx sdk的include和lib目录配置到vc的系统目录中,并且放到标准的vc目录之前,以保证编译器能拿到最新版本的源文件。
配置方法为,打开vc,选择菜单项tool、options、directories,在弹出的对话框中的show directories for中选择include files,添加配置如下(假设directx sdk安装在D:\dxsdk目录下):
D:\dxsdk\include
D:\dxsdk\samples\c++\directshow\baseclasses
D:\dxsdk\samples\c++\common\include
再在show directories for中选择 library files,添加配置如下:
D:\dxsdk\lib
D:\dxsdk\samples\c++\directshow\baseclasses\debug
D:\dxsdk\samples\c++\directshow\baseclassed\release
相关推荐
解决程序缺少streams.h文件的问题!
### 缺少streams.h的解决方法 在配置过程中,开发者可能会遇到缺少streams.h等文件的问题,这通常是因为DirectX SDK版本不匹配或者未完整安装DirectX SDK Extras导致的。正确的解决方式是确保你安装了DirectX SDK ...
- 在Windows系统下,编译时找不到`streams.h`文件。 - 安装DirectX SDK后,出现“TransInPlace”filter class constructor等未定义或重复定义的问题。 - 使用cvcam时遇到的特殊问题。 - 注册*.ax(DirectShow filter...
1. 引入必要的头文件,如`<streams.h>`,它是DirectShow的基础头文件。 2. 创建Filter Graph Manager,它是DirectShow的核心组件,负责管理和控制整个过滤图。 3. 添加和连接滤波器,例如捕获设备(Capture Device)...
#### 三、常见问题及解决方法 - **错误LNK2001**:当编译过程中出现类似`error LNK2001: unresolved external symbol _IID_IMediaEvent`这样的错误时,这通常是因为缺少相应的库文件或没有正确地添加到项目中。确保...