Windows SDK 7.1 (包含directshow)安装配置
最近一直在做畢業(yè)設(shè)計(jì)的事情,需要利用directshow進(jìn)行視頻開(kāi)發(fā),但是現(xiàn)在單獨(dú)的directshow包已經(jīng)沒(méi)有了,從directx9.0c開(kāi)始directshow和directx分開(kāi)發(fā)布,現(xiàn)在的directshow已經(jīng)集成到windows SDK當(dāng)中了。
但是說(shuō)實(shí)話,由于我是參考了《Visual C++網(wǎng)絡(luò)編程開(kāi)發(fā)與實(shí)戰(zhàn)》(朱桂英、張?jiān)?#xff09;這本書,所以作為一個(gè)新手來(lái)說(shuō),還是盡可能的按照書上說(shuō)的來(lái)做,單獨(dú)下載directshow 9.0進(jìn)行安裝,在網(wǎng)上也搜過(guò)關(guān)于windows SDK 的安裝,但是這樣的博文不多(也可能是我人品的問(wèn)題),所以畏手畏腳吧,就一直一直的搜索單獨(dú)的directshow包,可以說(shuō)到后來(lái)真是絕望吧,也找到幾個(gè),但是安裝不成功,真的比較打擊人。從開(kāi)始安裝這個(gè)到現(xiàn)在成功安裝寫博客已經(jīng)花了我一晚上加一個(gè)早晨的時(shí)間了,你說(shuō)氣人吧?
首先我的環(huán)境:win7旗艦版32位+VS2010旗艦版(版本10.0.40219.1 SP1Rel)好吧,廢話不再多說(shuō),ACTION!
需要下載兩個(gè)東西:Windows SDK +VC-Compiler-KB2519277.下載鏈接分別為:Win SDK和VC-Complier-KB2519277.
下載Windows SDK 的時(shí)候,根據(jù)操作系統(tǒng)版本選擇對(duì)應(yīng)的下載,32位的選擇X86的,64位的選擇X64的。 然后再下載VC-Complier。
下載完成之后,解壓縮win SDK,進(jìn)入Setup文件夾,找到最下面的SDKSetup雙擊開(kāi)始安裝,一路默認(rèn)下去,注意選擇安裝部分的時(shí)候不要勾選VC-Complier,因?yàn)榭赡軙?huì)出錯(cuò),所以我們下載了第二個(gè)東西,待會(huì)再安裝。
經(jīng)過(guò)我耐心的等待后,果然給了我一個(gè)措手不及,安裝失敗,具體提示好像是“occur a problem…..”啥的,那沒(méi)辦法啊,看看其他人有沒(méi)有碰到我類似的問(wèn)題,網(wǎng)上搜了很多,真的是搜了狠多啊!最后找到一篇博文,當(dāng)然也沒(méi)有明確說(shuō)是針對(duì)我這個(gè)問(wèn)題的,我也只是拿他的方法去試試,結(jié)果還真可以!哈哈,果然愛(ài)迪生發(fā)明燈泡是需要試錯(cuò)的。
參考的博文。博文中的解決辦法是卸載Microsoft Visual C++ 2010 x86 Redistributable ,具體的卸載方法是:進(jìn)入控制面板->程序和功能,然后最屏幕最右上角出搜索該程序,出來(lái)的結(jié)果卸載就好。(別看我說(shuō)的多么容易,我當(dāng)時(shí)也是找了很久才發(fā)現(xiàn)這么個(gè)方法,笨沒(méi)辦法,但很多事情是要靠自己的探索的,笨也沒(méi)關(guān)系)。卸載完之后,再次安裝win SDK,也不要勾選VC-Complier,你會(huì)發(fā)現(xiàn)奇跡般的成功了。高興一下,喝口水慶祝慶祝!!
然后接著安裝VC-Complier,這個(gè)就簡(jiǎn)單了,直接安裝就好。
然后最重要的一步來(lái)了,那就是編譯和配置。這里的錯(cuò)誤也著實(shí)讓人郁悶很久,不過(guò)最后進(jìn)過(guò)我的探索還是解決了。那么接下來(lái)就詳細(xì)解說(shuō)一下我的歷程。
第一步,首先就是編譯生成各個(gè)版本的靜態(tài)庫(kù)。我們先打開(kāi)工程,如果你SDK是默認(rèn)安裝的話路徑就是:C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses,打開(kāi)里面的.sln工程,之后分別選擇Debug、Debug_MBCS、Realese、Realese_MBCS版本進(jìn)行編譯,按F7編譯。
然后你就會(huì)驚喜的發(fā)現(xiàn),編譯不成功,具體的出錯(cuò)提示是:
“1>InitializeBuildStatus:
1> 正在創(chuàng)建“Release\BaseClasses.unsuccessfulbuild”,因?yàn)橐阎付ā癆lwaysCreate”。
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(153,5): error : 缺少必需的文件“”。
1>生成失敗。”云云。
不管哪個(gè)版本都是一樣的提示,我點(diǎn)擊進(jìn)去出錯(cuò)的文件,為:
我還不是大神,真的對(duì)于這種問(wèn)題沒(méi)辦法解決,而且網(wǎng)上關(guān)于這個(gè)問(wèn)題的資料又那么少,我是百度腦殘,原諒我沒(méi)用谷歌,過(guò)幾天翻個(gè)墻再用吧。好在最后還是找到了一篇博文,里面的方法還是只能試試,我們年輕,要不怕試錯(cuò)!!
在VS里,找到項(xiàng)目->屬性->配置屬性->常規(guī)->平臺(tái)工具集,這里一般默認(rèn)的是v100,然后我選擇windows 7.1 SDK ,確定之后,在F7編譯,結(jié)果!結(jié)果!結(jié)果生成成功了。如下:
用同樣的方法,對(duì)其他幾個(gè)版本進(jìn)行編譯,之后全部成功!!你就會(huì)發(fā)現(xiàn)在C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses里面多出了幾個(gè)文件夾,分別是各個(gè)版本的文件夾。進(jìn)去之后你就能找到每個(gè)版本的strmbasd.lib。如下:
那么接下便是第二步,添加目錄(雙擊Microsoft.cpp.win32.user):
C:\Program Files\Microsoft SDKs\Windows\v7.1\Include
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses
以及l(fā)ib:
C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib(可以把編譯生成的strmbasd.lib復(fù)制到C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib里,就不必寫下面一條了!)
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Debug(這個(gè)要根據(jù)所需要的strmbasd.lib版本進(jìn)行選擇)
到此為止,整個(gè)安裝過(guò)程算是弄完了,回想一路啊,還真是不容易!其中碰到的問(wèn)題自己不要害怕,不要怕試錯(cuò),自己可以探索探索!很多時(shí)候,做出來(lái)之后你會(huì)發(fā)覺(jué),原來(lái)這么簡(jiǎn)單!!對(duì),所以遇到問(wèn)題不要怕!
后記:為了測(cè)試安裝是否成功,我找到了一個(gè)使用directshow開(kāi)發(fā)的小項(xiàng)目進(jìn)行測(cè)試,結(jié)果,結(jié)果什么?對(duì),你猜的沒(méi)錯(cuò),結(jié)果又碰到問(wèn)題了,那能怎么辦,后來(lái)探索了一下,把添加頭文件的目錄順序調(diào)換了一下,依賴關(guān)系嘛!后來(lái)編譯成功!
好了,雖然前幾篇博客我一直強(qiáng)調(diào),只是為了記錄我的過(guò)程,但這篇我希望能給別人幫助,真的能幫助到別人!當(dāng)然,也要感謝上文中的一些博客,雖然并不是具體的解決方案,但是也給了我很多思路!我希望我的這篇博文,也能給你思路!
總結(jié)
以上是生活随笔為你收集整理的Windows SDK 7.1 (包含directshow)安装配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ubuntu下vim的配置
- 下一篇: 24/4毕业设计小记