VS2008下安装与配置DirectShow SDK 9.0

1、 安装DirectShow。3d

我装的是DirectShow SDK 9.0b。安装程序名为dx90bsdk.exe。下载地址:ftp://ftp.qut.edu.au/pub/microsoft/directx/directx9b/dx90bsdk.exe。code

clip_image002

clip_image004

clip_image006

clip_image008

clip_image010

 

 

2、 准备须要的静态连接库。blog

须要的静态连接库有strmiids.lib、strmbasd.lib、strmbase.lib、quartz.lib、winmm.lib。ip

其中strmiids.lib、quartz.lib在D:\ DXSDK\Lib文件夹下就有。strmbasd.lib要本身编译。get

进入D:\ DXSDK\Samples\C++\DirectShow\BaseClasses文件夹下,双击baseclasses.sln。it

clip_image012

clip_image014

按F7开始编译。编译

clip_image016

修改一些编译错误:ast

一、 error C2146: 语法错误 : 缺乏“;”(在标识符“PVOID64”的前面)。class

修改:在“typedef void * POINTER_64 PVOID64;”前面加上“#define POINTER_64 __ptr64”。cli

clip_image018

二、 error C4430: 缺乏类型说明符 - 假定为 int。注意: C++ 不支持默认 int。

修改:把“operator=(LONG);”改为“LONG operator=(LONG);”。

clip_image020

修改:把“static g_dwLastRefresh = 0;”改为“static DWORD g_dwLastRefresh = 0;”。

clip_image022

三、error C2065: “Count”: 未声明的标识符。

修改:在“for (UINT Count = 0;Count < Result;Count++) ”语句前面加上“UINT Count = 0”,再把“for (UINT Count = 0;Count < Result;Count++) ”改成“for (Count = 0;Count < Result;Count++) ”。

clip_image024

四、 error C2065: “iDone”: 未声明的标识符。

修改:在“for (long iDone = 0;iDone < nSamples || (m_nBatched != 0 && m_bSendAnyway);)”语句前面加上“long iDone = 0;”,再把“for (long iDone = 0;iDone < nSamples || (m_nBatched != 0 && m_bSendAnyway);)”改成“for (iDone = 0;iDone < nSamples || (m_nBatched != 0 && m_bSendAnyway);)”。

clip_image026

修改完错误再设置“生成”—>“批处理”。把Debug、Debug Unicode、Release、Relese Unicode这4个都勾起来。

clip_image028

单击“从新生成”。

clip_image030

这样strmbasd.lib就编译好了。

 

 

3、 添加VS2008的头文件目录和静态库目录。

一、 头文件目录。

要添加的目录有:

D:\DXSDK\Include

D:\DXSDK\Samples\C++\DirectShow\BaseClasses

D:\DXSDK\Samples\C++\Common\Include。

clip_image032

二、 静态库目录。

要添加的目录有:

D:\DXSDK\Lib

D:\DXSDK\Samples\C++\DirectShow\BaseClasses\Debug

D:\DXSDK\Samples\C++\DirectShow\BaseClasses\Debug_Unicode

D:\DXSDK\Samples\C++\DirectShow\BaseClasses\Release

D:\DXSDK\Samples\C++\DirectShow\BaseClasses\Release_Unicode

clip_image034

相关文章
相关标签/搜索