DirectShow下载:请搜索DirectX9.0 SDK Update-(Summer 2004),微软官网也能搜到,后面的版本都不带DirectShow
创建自己的DirectShow程序时需要载入一些库文件,也需要include部分头文件。
1、第一次使用,首先编译Base Classes源代码,这么做的原因是大多数功能都是在这些基本类的基础上实现的,必不可少。考虑到一般要用到两种,Debug和Release,(编译时选择)所以最好以这两种方式都编译一次。编译后自动生成两个lib库文件,Strmbasd.lib和Strmbase.lib,分别可以在Debug和Release两种方式所生成的文件夹里找到。
编译方法及错误处理(VS2003)
VS2003打开../samples/C++/directshow/baseclass/.sln编译,编译成功,无错误。
2.编译完成DirectShow后,编译自己的程序时,使用以下方式:
使用_stdcall函数调用协议:菜单Project | Setting | C/C++中Category选Co
使用多线程语言运行时库:在菜单Project | Setting | C/C++中Category选Co
连接库文件:至少应该连接Strmiids.lib和Quartz.lib(在项目属性->链接器->输入->附加依赖项中添加库文件.lib名,多个库文件以逗号隔开,不必写路径,会根据库文件路径来搜索)。如果程序中包含了streams.h,则还必须包含strmbasd.lib(或strmbase.lib)、uuid.lib和winmm.lib。方法:在Project | Setting | Link中Category选General,然后在Object/Library mudules中输入要用到的库名字。如果要用到更多库文件,添加同理。注意,只需要写库名字,不需要写路径,因为下面将会设置查找路径。
设置编译环境,即设置查找路径,让编译器知道从哪里可以找到需要用到的库文件和头文件。(假设DirectX被安装于目录C:\DXSDK90下,并且Debug和Release文件目录分别叫Debug和Release。)
设置头文件路径:菜单Tools | Options | Directories,Show Directories for中选择Include files,添加如下几条并将他们置于最顶上:(最好保持这个顺序,最先匹配原则)
C:\DXSDK90\INCLUDE
C:\DXSDK90\SAMPLES\C++\DIRECTSHOW\BASECLASSES
C:\DXSDK90\SAMPLES\C++\COMMON\INCLUDE
设置库文件路径:Show Directories for中选择Library files,添加如下几条并将他们置于最顶上:
C:\DXSDK90\LIB
C:\DXSDK90\SAMPLES\C++\DIRECTSHOW\BASECLASSES\DEBUG
C:\DXSDK90\SAMPLES\C++\DIRECTSHOW\BASECLASSES\RELEASE
可以开始写代码并编译了