现在的位置: 首页 > 综合 > 正文

vs2005配置DirectShow详解

2014年02月05日 ⁄ 综合 ⁄ 共 1178字 ⁄ 字号 评论关闭

1、注意点(版本问题):在比较老的资料里可以知道:directshow是包含在directx
SDK里面的。这里要强调一点,这是在DirectX
9.0b之前的情况,在9.0c以后,directshow和DirectX就彻底分家了,directshow被移到了windows
platform sdk里。如果你只安装了DirectX9.0b之后的版本,是没有directshow的。

2、我的安装目录是:C:/DXSDK

3、找到C:/DXSDK/Samples/C++/DirectShow
/BaseClasses下的baseclasses.sln,打开后可能会提示转换,注意留下备份。编译通过后会生成strmbasd.lib,在
debug或者release目录下(取决于你程序生成的版本)。

注意点:编译中遇到的问题及解决方法:

      3.1若定位错误到如下两行:

typedef void *PVOID;

typedef void * POINTER_64 PVOID64;

则修改为:

#define POINTER_64 __ptr64 //加上这一行

typedef void *PVOID;

typedef void * POINTER_64 PVOID64;

3.2 若for循环中变量作用域出现问题,则如下修改:

C++标准语法的问题,因为在之前在for循环内定义的变量可以在for之外的地方使用,即
在第一个for里for(int
i,...),以后的for再使用i不必再声明,解决方法也很简单,打开project->BaseClasses
properties->configuration->C/C++->Language->Force
Comformance in For Loop Scrope设置为No即可

3.3 再次编译,若还有其他问题,则做如下修改

打开project->BaseClasses
properties->configuration->C/C++ ->Command Line,增加/wd4430选项

4、配置工作环境

4.1 1.
首先,点击工具->选项->项目和解决方案->VC++目录。如图添加两个引用:

C:/DXSDK/Samples/C++/DirectShow/BaseClasses

C:/DXSDK/Include


4.2 2. 再添加库文件的引用。

C:/DXSDK/Samples/C++/DirectShow/BaseClasses/Debug

C:/DXSDK/Lib


4.1步与4.2步注意点:

请将C:/DXSDK替换为你安装directX所在的目录。且我们所添加的路径最好位于最
上端,若开发环境中原来有SDK路径,则去掉开发环境中原来的windows SDK路径

5、 新建工程,需要在新建好的工程里的 
项目->属性->配置属性->链接器->命令行下的“附加选项”里添加strmbasd.lib

抱歉!评论已关闭.