针对缺少"streams.h"及配置directshow的问题的详细解决过程。

来源:互联网 发布:pitta mask 口罩 知乎 编辑:程序博客网 时间:2024/06/05 00:50

本人初学c++,前两天找到一个抽奖的程序附带源码,我想修改程序一些地方,可编译的时候却出现问题,缺少”stream.h“文件。于是我就去问度娘,知道了这是一个开发包叫directshow里的文件,而网上对这个的评论很多都是很早以前的,把我指向去寻找Directx SDK,不过DirectX SDK9.0b之后的版本就不再有directshow这个包了,相应的它被移植到Windows SDK了。我的电脑里只在C盘有一个Microsoft SDKs的文件夹,文件夹下是/Windows/7.0/...(这可能是个开发包,但是没有directshow)。我再一次踏上寻找之路,从微软官网下载了Windows SDK for win7.1,不过安装失败了(不知道和我的win8系统有没有关系,即使失败了在上面提到的文件夹下,多了个/Windows/7.1/空白),但我把其中拥有directshow的部分装了下来,安装程序就在/steup/WinSDKSamples里。装下来的文件在/Windows/7.1/Samples中。

装下来会有个Samples文件,在/Windows/7.1/下。(我把它复制到了我原来的Microsoft SDKs文件夹中Windows下的7.0文件夹中,不过应该没有必要)

接下来开始配置directshow。

首先打开samples/multimedia/directshow/baseclasses下的baseclasses.sln项目(我使用的是VS 2010),使用四种不同的解决方案配置:Debug,Rlease,。。,。。会生成四个相应的不同的文件夹。

下一步打开最开始的项目文件,点击视图→属性管理器,弹出来的界面中双击Microso.Cpp.Win32.User,弹出的对话框中选择VC++目录,编辑包含目录,添加地址baseclasses这个文件夹、common文件夹(都在samples/multimedia/directshow/下);编辑库目录,添加之前生成的Debug、Rlease文件夹(都在samples/multimedia/directshow/baseclasses/下)。

至此,我的问题得到了解决,“streams.h”文件也找得到了,源代码可以编译了。

这个过程我也了解到directshow之类的开发包是mfc编程中常用的工具包,directshow是处理多媒体的工具,给我带来问题的那个程序应该是用它来处理音频和文字滚动的。代码我不太看得懂,还需要多多学习。

我的问题是解决了,但解决问题过程中还有问题没明白,我最初是下载安装了个Windows SDKs for win8.1的,但是其中没有网上说的Samples文件夹,更找不到directshow了,按理说directshow这个工具也应该在里面哒?很疑惑。



0 0
原创粉丝点击