Windows SDK 7.1 (包含directshow)安装配置

最近一直在做毕业设计的事情,需要利用directshow进行视频开发,但是现在单独的directshow包已经没有了,从directx9.0c开始directshow和directx分开发布,现在的directshow已经集成到windows SDK当中了。

但是说实话,由于我是参考了《Visual C++网络编程开发与实战》(朱桂英、张元亮)这本书,所以作为一个新手来说,还是尽可能的按照书上说的来做,单独下载directshow 9.0进行安装,在网上也搜过关于windows SDK 的安装,但是这样的博文不多(也可能是我人品的问题),所以畏手畏脚吧,就一直一直的搜索单独的directshow包,可以说到后来真是绝望吧,也找到几个,但是安装不成功,真的比较打击人。从开始安装这个到现在成功安装写博客已经花了我一晚上加一个早晨的时间了,你说气人吧?

首先我的环境:win7旗舰版32位+VS2010旗舰版(版本10.0.40219.1 SP1Rel)好吧,废话不再多说,ACTION!
需要下载两个东西:Windows SDK +VC-Compiler-KB2519277.下载链接分别为:Win SDK和VC-Complier-KB2519277.

   下载Windows SDK 的时候,根据操作系统版本选择对应的下载,32位的选择X86的,64位的选择X64的。 然后再下载VC-Complier。

Windows SDK 7.1 (包含directshow)安装配置_第1张图片

下载完成之后,解压缩win SDK,进入Setup文件夹,找到最下面的SDKSetup双击开始安装,一路默认下去,注意选择安装部分的时候不要勾选VC-Complier,因为可能会出错,所以我们下载了第二个东西,待会再安装。

Windows SDK 7.1 (包含directshow)安装配置_第2张图片
setup

经过我耐心的等待后,果然给了我一个措手不及,安装失败,具体提示好像是“occur a problem…..”啥的,那没办法啊,看看其他人有没有碰到我类似的问题,网上搜了很多,真的是搜了狠多啊!最后找到一篇博文,当然也没有明确说是针对我这个问题的,我也只是拿他的方法去试试,结果还真可以!哈哈,果然爱迪生发明灯泡是需要试错的。

参考的博文。博文中的解决办法是卸载Microsoft Visual C++ 2010 x86 Redistributable ,具体的卸载方法是:进入控制面板->程序和功能,然后最屏幕最右上角出搜索该程序,出来的结果卸载就好。(别看我说的多么容易,我当时也是找了很久才发现这么个方法,笨没办法,但很多事情是要靠自己的探索的,笨也没关系)。卸载完之后,再次安装win SDK,也不要勾选VC-Complier,你会发现奇迹般的成功了。高兴一下,喝口水庆祝庆祝!!

然后接着安装VC-Complier,这个就简单了,直接安装就好。

然后最重要的一步来了,那就是编译和配置。这里的错误也着实让人郁闷很久,不过最后进过我的探索还是解决了。那么接下来就详细解说一下我的历程。

第一步,首先就是编译生成各个版本的静态库。我们先打开工程,如果你SDK是默认安装的话路径就是:C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses,打开里面的.sln工程,之后分别选择Debug、Debug_MBCS、Realese、Realese_MBCS版本进行编译,按F7编译。
Windows SDK 7.1 (包含directshow)安装配置_第3张图片

然后你就会惊喜的发现,编译不成功,具体的出错提示是:
“1>InitializeBuildStatus:
1> 正在创建“Release\BaseClasses.unsuccessfulbuild”,因为已指定“AlwaysCreate”。
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(153,5): error : 缺少必需的文件“”。
1>生成失败。”云云。

不管哪个版本都是一样的提示,我点击进去出错的文件,为:
Windows SDK 7.1 (包含directshow)安装配置_第4张图片

我还不是大神,真的对于这种问题没办法解决,而且网上关于这个问题的资料又那么少,我是百度脑残,原谅我没用谷歌,过几天翻个墙再用吧。好在最后还是找到了一篇博文,里面的方法还是只能试试,我们年轻,要不怕试错!!

在VS里,找到项目->属性->配置属性->常规->平台工具集,这里一般默认的是v100,然后我选择windows 7.1 SDK ,确定之后,在F7编译,结果!结果!结果生成成功了。如下:
Windows SDK 7.1 (包含directshow)安装配置_第5张图片
Windows SDK 7.1 (包含directshow)安装配置_第6张图片

用同样的方法,对其他几个版本进行编译,之后全部成功!!你就会发现在C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses里面多出了几个文件夹,分别是各个版本的文件夹。进去之后你就能找到每个版本的strmbasd.lib。如下:
Windows SDK 7.1 (包含directshow)安装配置_第7张图片

那么接下便是第二步,添加目录(双击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
以及lib:
C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib(可以把编译生成的strmbasd.lib复制到C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib里,就不必写下面一条了!)
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Debug(这个要根据所需要的strmbasd.lib版本进行选择)
Windows SDK 7.1 (包含directshow)安装配置_第8张图片

到此为止,整个安装过程算是弄完了,回想一路啊,还真是不容易!其中碰到的问题自己不要害怕,不要怕试错,自己可以探索探索!很多时候,做出来之后你会发觉,原来这么简单!!对,所以遇到问题不要怕!

后记:为了测试安装是否成功,我找到了一个使用directshow开发的小项目进行测试,结果,结果什么?对,你猜的没错,结果又碰到问题了,那能怎么办,后来探索了一下,把添加头文件的目录顺序调换了一下,依赖关系嘛!后来编译成功!

好了,虽然前几篇博客我一直强调,只是为了记录我的过程,但这篇我希望能给别人帮助,真的能帮助到别人!当然,也要感谢上文中的一些博客,虽然并不是具体的解决方案,但是也给了我很多思路!我希望我的这篇博文,也能给你思路!

你可能感兴趣的:(VS-win,安装配置,c,directshow,winsdk)