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 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 注意: debug - strmbasd.lib release - strmbase.lib 在stdafx.h中,加入 #include <dshowutil.h> 8, 终于成功了。 \Setup\WinSDKSamples_amd64\WinSDKSamples_amd64.msi 等必须的组件后,运行根目录下的setup.exe进行进一步的配置,最后再安装sp1和VC-Compiler补丁。 Microsoft Windows SDK for Windows 7 and .NET Framework 4 (ISO) 下载地址: https://www.microsoft.com/en-us/download/details.aspx?id=8442 (3078033064) |