生活随笔
收集整理的這篇文章主要介紹了
vc中关于 directx的配置,和dxsdk_extras(directshow)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
2009-11-10 0:28
此文章:自己編寫 轉載于《 湯姆&杰瑞 》
DirectShow 1 —— 下載與VC配置
1 DirectX SDK9
Directshow sdk 下載網址 :http://download.microsoft.com/download/d/9/1/d91c44b9-fbac-4e8e-bee1-4a75777923ec/dxsdk_feb2005_extras.exe
在執(zhí)行DirectShow樣例時必須先用設置Visual C++編輯環(huán)境,要不然交會發(fā)生連接錯誤或者是找不到定義等等眾多錯誤。 設置直要是指定編繹器去查找程序所引用的頭文件,庫文件或者是資源文件的所在目錄的路徑 。
設置步驟 :菜單條中的工具->選項->項目和解決方式->Vc++文件夾,然后就要以在右邊的下拉框中選擇可運行文件,頭文件,庫文件等待,這樣就能夠設置其所在文件的路徑了。 所包括的文件可能放在:
1.DirctX 安裝所在目錄中的:Lib和Include目錄中;
2.Platform 安裝所在目錄中的:Lib,Include,Samples\Multimedia\DirectShow\BaseClass,和Samples\Multimedia\DirectShow\Common文件里。 怎么確定項目所須要那些文件: 在SDK中查找編譯出錯,提示未定義的成員的幫助,看看它所須要那些頭文件和庫文件,就能夠用#include 與#pragma comment 把它們引用代碼文件里如 #include <dshow.h> #pragma comment(lib, "ole32.lib" ) 如里它所提供的樣例沒有存在VC++解決方式,而自己新建空解決方式把所提供的源文件加入進行,執(zhí)行起來可能會遇到非常多難以想像的問題,由于它們NMAKE命令去生成項目。在生成過程中,它們文件這間有編譯的前后順序,并且有些文件要依懶于前一個編譯生成的文件,所以要設置項目屬性是非常復雜的,設置的不好非常easy出現(xiàn)各各樣的編譯錯誤。但你能夠在在命令行中轉到項目全部目錄,執(zhí)行命令:nmake /n ,查看生成項目所執(zhí)行的命令。然后依據(jù)命令的信息而去設置新建項目的屬性。你要正確去配置項目的屬性,就必須了解這個命令nmake,CL.EXE,LINK.EXE,,RC.EXE;以下給出一些參考。 NMAKE命令選項參考 Microsoft 程序維護有用工具 (NMAKE.EXE) 是一個 32 位,基于說明文件里包括的命令生成項目的工具。 http://msdn.microsoft.com/library/c...ake_options.asp CL.exe 選項說明 CL.exe 是控制 Microsoft C 和 C++ 編譯器與鏈接器的 32 位工具。編譯器產生通用對象文件格式 (COFF) 對象 (.obj) 文件。鏈接器產生可運行文件 (.exe) 或動態(tài)鏈接庫文件 (DLL)。 http://msdn.microsoft.com/library/c...habetically.asp link命令選項參考: LINK 是將通用對象文件格式 (COFF) 對象文件和庫鏈接起來以創(chuàng)建 32 位可運行 (.exe) 文件或動態(tài)鏈接庫 (DLL) 的 32 位工具 http://msdn.microsoft.com/library/c...r_reference.asp CL.EXE 與link的關系 http://msdn.microsoft.com/library/c...ink_options.asp RC命令 Microsoft Windows 資源編譯命令,沒有找到相關的資料,僅僅在命令行在輸入RC /? 查看它自帶的幫助了。 命令行中生成DirectShow SDK 中的樣例 http://www.cnblogs.com/xuanfeng/arc.../04/494236.html
2 DirectX SDK8.1
(如果DirectX SDK8.1安裝在C:\DXSDK文件夾下。) 1. 編譯基類源碼,至少生成兩個靜態(tài)庫文件 打開C:\ DXSDK\samples\Multimedia\DirectShow\BaseClasses\baseclasses.dsw,Debug版本號生成strmbasd.lib,Release版本號生成strmbase.lib。 2. 配置VC的編譯環(huán)境:Include文件夾和Lib文件夾。運行VC的菜單命令Tools | Options…,在隨后彈出的對話框中進入Directories一頁,在Show directories for一項選擇Include files,然后配置例如以下:(注意,務必將DirectX SDK的文件夾放在標準的VC文件夾之前。) C:\DXSDK\Include C:\ DXSDK\samples\Multimedia\DirectShow\BaseClasses C:\ DXSDK\samples\Multimedia\Common\include C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE 再在Show directories for一項選擇Library files,配置例如以下: C:\DXSDK\Lib C:\ DXSDK\samples\Multimedia\DirectShow\BaseClasses \DEBUG C:\ DXSDK\samples\Multimedia\DirectShow\BaseClasses \RELEASE C:\PROGRAM FILES\MICROSOFT SDK\LIB C:\Program Files\Microsoft Visual Studio\VC98\LIB C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB 3. 配置DirectShow應用程序開發(fā)項目須要連接的庫文件。 運行VC的菜單命令Project | Settings…,在隨后彈出的對話框中進入Link一頁,在Object/library modules一項,Debug版輸入Strmbasd.lib Msvcrtd.lib Winmm.lib,Release版本號輸入Strmbase.lib Msvcrt.lib Winmm.lib。Ignore default libraries. (In Microsoft? Visual C++? 6.0, choose Settings from the Project menu. Click the Link tab and check Ignore all default libraries.) 4. 假設安裝的DirectX SDK的版本號是9.0曾經的,請確認在編譯應用程序的Debug版本號之前已經定義了DEBUG宏。運行VC的菜單命令Project | Settings…,在隨后彈出的對話框中進入C/C++一頁,在Category一項選擇Preprocessor,然后確認Preprocessor definitions中有DEBUG(假設沒有就自己加上)。 另外,應用程序在調用不論什么COM庫函數(shù)之前,務必調用CoInitialize或CoInitializeEx進行COM庫的初始化(一般僅僅需在程序啟動的時候調用一次);在結束全部COM操作之后,調用CoUninitialize進行反初始化(一般在程序退出之前調用一次)。而當程序中有多個線程都要使用COM庫函數(shù)時,則每一個線程都要進行初始化和反初始化。總之,要保證CoUninitialize和CoInitialize(或CoInitializeEx)調用的一一配對。
轉載于:https://www.cnblogs.com/hrhguanli/p/4503246.html
總結
以上是生活随笔 為你收集整理的vc中关于 directx的配置,和dxsdk_extras(directshow) 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。