我想尝试构建一个 DirectShow 转换过滤器。
我已经远离编程多年了,并且想尝试再次选择它。
我想尝试使用DirectShow为视频流设计变换滤镜。
但我无法使用旧的 Visual C ++ 5.0 来构建任何 DirectShow -samples。
我想我曾经可以,但现在我已经换了几次电脑,而且我不记得我过去做过什么工作。我在大约10 - 15年前安装了 DirectX 9.0 ,但是我再也找不到安装文件了,所以我刚刚将持有安装的dxsdk文件夹复制到 Visual的新安装中C ++ 5.0 。
当我尝试构建其中一个示例时,它会显示“\ DXSDK \ INCLUDE \ strmif.h(28):致命错误C1189:#error:此存根需要更新版本的rpcndr.h”< /强>
我不知道为什么我不再拥有它。我不记得在过去,我是否安装了可能包含它的Visual C ++更新。我只是不记得了。
我试图找到 DirectX 9 的安装文件,但我能在微软获得的唯一一个是 DirectX 10 ,这只是几年之久,而且似乎不再包含 DirectShow 。而且我不知道是否重新安装 DirectX 甚至可以解决过时的“rpcndr.h”的问题?
我尝试安装Microsoft提供的 Visual Studio 2015社区,但它似乎以极低的速度安装,而且谷歌搜索似乎对人们来说并不罕见等一两天才能完成安装!此外,它想在我的计算机上安装13 GB,仅用于编程环境,我的需求比这简单得多。所以我放弃了。
我喜欢我的旧 Visual C ++ 5.0 。这是我以前学习编程的东西,而我几乎不知道我的方式。此外,它让我觉得它不再受支持,因为它似乎完全能够编译和构建好的程序。似乎没有明显的理由说明为什么它不能编译和构建 DirectShow 过滤器或应用程序。所以我想继续使用它,甚至做一个 DirectShow 过滤器
任何人都可以告诉我如果有办法可以让它工作吗?
我是否需要下载某种类型的SDK来更新标头和库,以获取我必须使用编译器的 DirectX SDK 文件?
谢谢。
答案 0 :(得分:2)
在过去的20年中,您希望考虑一些重要的变化。
您可能仍然使用Visual C ++ 5.0,这对我来说没有多大意义,但在这种情况下,您必须找到各自较旧的SDK。有可能存在某些问题,例如DEP不兼容性。因为您可以使用当前的工具,所以根本不需要进入这个旅程。
DirectShow运行时现在是操作系统的一部分,您不需要任何可再发行组件。安装或拥有Windows SDK 7.1非常重要,因为它是包含DirectShow示例和DirectShow BaseClasses的一组示例附带的最后一个版本。您需要这些样本,否则您需要chase for them on GitHub或其他地方。
您将希望将Visual Studio 2015社区与所有最新更新和最新的Windows SDK 10用作您的开发环境。转换DirectShow示例升级相应的项目,您将能够从SDK 7.1构建DirectShow Samples,顺便说一下,已经包含一些流行的转换过滤器项目,例如EzRGB24 Filter Sample