VS2008下安裝與配置DirectShow SDK 9.0


一、 安裝DirectShow。

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

clip_image002

clip_image004

clip_image006

clip_image008

clip_image010

 

 

二、 准備需要的靜態鏈接庫。

需要的靜態鏈接庫有strmiids.lib、strmbasd.lib、strmbase.lib、quartz.lib、winmm.lib。

其中strmiids.lib、quartz.lib在D:\ DXSDK\Lib文件夾下就有。strmbasd.lib要自己編譯。

進入D:\ DXSDK\Samples\C++\DirectShow\BaseClasses文件夾下,雙擊baseclasses.sln。

clip_image012

clip_image014

按F7開始編譯。

clip_image016

修改一些編譯錯誤:

1、 error C2146: 語法錯誤 : 缺少“;”(在標識符“PVOID64”的前面)。

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

clip_image018

2、 error C4430: 缺少類型說明符 - 假定為 int。注意: C++ 不支持默認 int。

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

clip_image020

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

clip_image022

3、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

4、 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就編譯好了。

 

 

三、 添加VS2008的頭文件目錄和靜態庫目錄。

1、 頭文件目錄。

要添加的目錄有:

D:\DXSDK\Include

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

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

clip_image032

2、 靜態庫目錄。

要添加的目錄有:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM