如何使用Visual C ++ 5.0构建DirectShow过滤器?

时间:2016-12-16 17:27:11

标签: c++ directshow

我想尝试构建一个 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 文件?

谢谢。

1 个答案:

答案 0 :(得分:2)

在过去的20年中,您希望考虑一些重要的变化。

  • DirectShow过滤器仍能正常运行
  • DirectShow不再是DirectX的一部分,它已移至核心平台
  • 您不需要Visual C ++ 5.0,Visual Studio 2015社区就可以了
  • 您仍然可以使用SDK文件构建转换过滤器,但需要特定的SDK和示例

您可能仍然使用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