vs2008下DirectShow的配置详解

来源:互联网 发布:淘宝有没有岛国动作片 编辑:程序博客网 时间:2024/06/07 09:16
 

vs2008下DirectShow的配置详解

directshow是包含在directx SDK里面的。但这是在DirectX 9.0b之前的情况,在9.0c以后,directshow和DirectX就彻底分家了,最后的版本是directx 9.0 sdk (summer 2004)

1、安装工具:vs2008+directx 9.0 sdk (summer 2004)

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

 

原创粉丝点击