国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

關于DirectShow SDK版本變遷說明及解決找不到streams.h文件

2019-11-08 02:45:56
字體:
來源:轉載
供稿:網友

1.DirectShow SDK版本變遷說明

做視頻聊天和視頻播放器程序的時候會涉及到使用DirectShow SDK,原本DirectShow SDK是集成在DirectX中,但自從DirectX 9.0c sdk后,DirectShow SDK不再包含在DirectX SDK中,現在微軟所提供的DirectX10.0及其以上版本不再包含DirectShow SDK,所以在使用DirectX10.0及其以上版本SDK開發視頻相關程序的時候會存在缺少DirectShow SDK的情況。自從DirectX 9.0c sdk后,DirectShow SDK不再包含在DirectX SDK中,因為大部分游戲開發不再需要DirectShow SDK,而是以Extras的形式發布,后來集成了一部分SDK到Windows SDK中(大家也就無需再從新版本的DirectX中需要DirectShow SDK了)。也就是說后來的環境(比如vs2008、vs2010環境下)比較難配置,極有可能不穩定,產生這樣那樣的錯誤。初學者可能看到如此難搞的環境配置就望而卻步了,不利于學習。最新的VS2015里面集成了DirectShow SDK便于相關DirectShow程序開發,由于微軟不再提供早期版本DirectX的相關SDK導致早期版本DirectX SDK較為難找,若需要早期版本的DirectX SDK(集成了DirectShow SDK)的程序或安裝好后形成的開發文件包請評論留下郵箱,看到會以郵箱的形式發送。

2.視頻相關程序缺少streans.h的解決方法

讀者請到http://download.csdn.net/detail/u011028345/9757666下載streams.h文件,添加頭文件路徑或包含到程序中即可,當添加了streams.h文件解決了找不到streams.h文件問題之后,會遇到如下三類問題具體解決方法如下:

(1)C:/PRogram Files/Microsoft Visual Studio 10/include/winnt.h : error C2146: syntax error : missing ';' before identifier 'PVOID64'

解決方法:POINTER_64是一個宏,在64位編譯下起作用,它包含在SDK目錄下的BASETSD.H中,但DirectXSDK自己也帶了一個BASETSD.H,里面沒有定義POINTER_64,從而導致出錯。

    在winnt.h 的    typedef void *PVOID;    typedef void * POINTER_64 PVOID64; 代碼前面加上#define POINTER_64 __ptr64即可。

(2)error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

解決方法:錯誤發生在Operator=(LONG);函數定義中,這是因為在VC中,如果沒有顯示的指定返回值類型,編譯器將其視為默認整形;但是Visual Studio2010不支持默認整形,解決這個問題不能修改每個沒有顯示指示返回值類型的函數地方,改為 LOGN operator=(LONG);即可

(3)無法打開文件“strmbasd.lib”及其相關添加靜態鏈接庫lib問題

解決方法:將添加的相關lib改為與DirectX SDK相對應的即可,將strmbasd.lib改為strmiids.lib即可。

轉載請表明出處:http://blog.csdn.net/u011028345/article/details/55670241


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 青铜峡市| 南郑县| 清水县| 民权县| 城市| 古浪县| 望谟县| 大邑县| 淮安市| 清镇市| 德兴市| 治县。| 贵德县| 嘉峪关市| 彰武县| 鹤壁市| 根河市| 祁连县| 新和县| 绥江县| 黑山县| 嘉峪关市| 临海市| 包头市| 德钦县| 长汀县| 德阳市| 铜梁县| 山阴县| 济阳县| 怀化市| 左权县| 长垣县| 罗源县| 鹤庆县| 项城市| 西畴县| 林芝县| 忻州市| 鄂州市| 洛川县|