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

相關文章
相關標籤/搜索