我想尝试构建DirectShow转换过滤器。

我离开编程已经有很多年了,想尝试再次尝试。

我想尝试使用DirectShow为视频流设计一个转换过滤器。

但是我无法使用旧的Visual C++ 5.0来构建任何DirectShow示例。

我想曾经可以,但是现在我已经更换了几次计算机,而且我不记得过去曾经做过什么工作。我大约在10到15年前安装了DirectX 9.0,但是我再也找不到安装文件,因此我刚刚将保存安装的dxsdk文件夹复制到了Visual C++ 5.0的新安装中。

当我尝试构建其中一个示例时,它说“\ DXSDK \ INCLUDE \ strmif.h(28):致命错误C1189:#error:此存根需要rpcndr.h的更新版本”

我不知道为什么我再也没有了。我不记得过去是否安装了Visual C++更新,其中可能包含了该更新。我只是不记得了。

我试图找到DirectX 9的安装文件,但是我在Microsoft可以得到的唯一文件是DirectX 10,它只有几年的历史,而且似乎不再包含DirectShow。而且我不知道重新安装DirectX是否还能解决过时的“rpcndr.h”问题?

我尝试安装Visual Studio 2015社区,该社区可从Microsoft获得,但安装速度似乎非常慢,从Google搜索中可以看到,人们等待一两天才能完成它并不罕见。安装!另外,它只想在编程环境中就在我的计算机上安装13 GB,而我的需求要简单得多。所以我放弃了。

我喜欢旧的Visual C++ 5.0。这就是我过去学习编程的方法,而我几乎不知道该如何解决。另外,令我感到烦恼的是,它似乎已完全能够编译和构建良好的程序,因此不再受支持。似乎没有明显的理由说明它不应该能够编译和构建DirectShow过滤器或应用程序。所以我想继续使用它,甚至制作一个DirectShow过滤器

谁能告诉我是否有办法使它起作用?

我是否需要下载某种SDK来更新 header 和库,才能获得我必须与编译器一起使用的DirectX SDK文件?

谢谢。

最佳答案

在过去的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或其他地方。

    您将希望将具有所有最新更新和最新Windows SDK 10的Visual Studio 2015社区用作您的开发环境。转换DirectShow示例以升级相应的项目,您将能够从SDK 7.1构建DirectShow Samples,顺便说一下,它已经包括一些流行的转换过滤器项目,例如EzRGB24 Filter Sample

    关于c++ - 如何使用Visual C++ 5.0构建DirectShow筛选器?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41189534/

    10-15 04:39