您的位置:首页 > 其它

VS2010: WinSDK7.1版DirectShow--从安装到使用

2015-07-09 13:15 281 查看
1,

尝试安装这个

DirectX June 2010。

安装一切正常,但最后就是说“安装失败”,错误代码是“S1023”。

网上调查半天,原来如此。以下的更新必须先卸掉。

Microsoft Visual C++ 2010 x86/x64 redistributable - 10.0.(number over 30319)

之后安装成功。再用Windows Update重新安装卸掉的更新。

即可。

2,

原以为DirectX就是DirectShow。装上上面这个怎么玩儿怎么不对。

又去MS的WebSite上看了一下,闹了半天,不是。在9.0为止是的,但之后DirectShow被移到Windows SDK里了。

接下来只好去下载Windows SDK 7 /Win7。

3,

终于下载好了WinSDK 7(x86),安装时遭遇以下错误:

“Setup could not find the file WinSDK_amd64\WinSDK_amd64.msi at any of

the specified source locations”.

还是没戏。不禁回忆起几十年前了。当时是为什么抛弃Microsoft的开发工具来着?

4,

继续研究,发现应该用SDK7.1/.Net4.0的版本,来适应我的VS2010。

下载时,意外发现3个ISO版本的名称有所改变,x86/x64/Itanium。似乎刚才在7的时候应该下载amd64那个版本。因为我的是64位系统。

5,

下载了7.1。快速的安装着。最后告诉我“安装时发生严重错误”。这回连个编号都没有了。

无语...

6,

发现还是1,中的

Microsoft Visual C++ 2010 x86/x64 redistributable - 10.0.(number over 30319)

在捣乱。

参照1,的做法,先卸载它们,再安装7.1,再重新安装更新。

现在能够成功安装了。

7,

(1)修改Sample目录的访问权限,给Users增加变更的权限;

(2)准备DirectShow的库文件;

打开这个,任由转换向导转换。

C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\baseclasses.sln

项目BaseClasses会发生18个警告,无视。

在BaseClasses属性页中,配置属性的“目标文件名”改为:

debug用:strmbasd

release用:strmbase

分别在debug/release模式下编译,确认以下库文件生成:

C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Debug\strmbasd.lib

C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Release\strmbase.lib

(3)在每个用户解决方案中:

将以下文件夹加到“附加包含目录”

C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\common

C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses

C:\Program Files\Microsoft SDKs\Windows\v7.1\Include

将以下文件夹加到“附加库目录”

C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Debug[/release]

C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib

在C++源文件中使用:

#pragma comment(lib, "strmbasd.lib")

注意:

debug - strmbasd.lib

release - strmbase.lib

在stdafx.h中,加入

#include <dshowutil.h>

#include <smartptr.h>

8,

终于成功了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: