日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

vc中关于 directx的配置,和dxsdk_extras(directshow)

發布時間:2024/7/19 c/c++ 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vc中关于 directx的配置,和dxsdk_extras(directshow) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
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

在執行DirectShow樣例時必須先用設置Visual C++編輯環境,要不然交會發生連接錯誤或者是找不到定義等等眾多錯誤。設置直要是指定編繹器去查找程序所引用的頭文件,庫文件或者是資源文件的所在目錄的路徑


設置步驟:菜單條中的工具->選項->項目和解決方式->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++解決方式,而自己新建空解決方式把所提供的源文件加入進行,執行起來可能會遇到非常多難以想像的問題,由于它們NMAKE命令去生成項目。在生成過程中,它們文件這間有編譯的前后順序,并且有些文件要依懶于前一個編譯生成的文件,所以要設置項目屬性是非常復雜的,設置的不好非常easy出現各各樣的編譯錯誤。但你能夠在在命令行中轉到項目全部目錄,執行命令:nmake /n ,查看生成項目所執行的命令。然后依據命令的信息而去設置新建項目的屬性。你要正確去配置項目的屬性,就必須了解這個命令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) 或動態鏈接庫文件 (DLL)。

http://msdn.microsoft.com/library/c...habetically.asp

link命令選項參考:
LINK 是將通用對象文件格式 (COFF) 對象文件和庫鏈接起來以創建 32 位可運行 (.exe) 文件或動態鏈接庫 (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. 編譯基類源碼,至少生成兩個靜態庫文件
打開C:\ DXSDK\samples\Multimedia\DirectShow\BaseClasses\baseclasses.dsw,Debug版本號生成strmbasd.lib,Release版本號生成strmbase.lib。

2. 配置VC的編譯環境: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應用程序開發項目須要連接的庫文件。
運行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庫函數之前,務必調用CoInitialize或CoInitializeEx進行COM庫的初始化(一般僅僅需在程序啟動的時候調用一次);在結束全部COM操作之后,調用CoUninitialize進行反初始化(一般在程序退出之前調用一次)。而當程序中有多個線程都要使用COM庫函數時,則每一個線程都要進行初始化和反初始化。總之,要保證CoUninitialize和CoInitialize(或CoInitializeEx)調用的一一配對。

轉載于:https://www.cnblogs.com/hrhguanli/p/4503246.html

總結

以上是生活随笔為你收集整理的vc中关于 directx的配置,和dxsdk_extras(directshow)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。