我正在开发一款可以追溯到很久以前的软件产品。我们源代码的一部分是构建基类的项目。据推测,这是一个随 Windows SDK 一起提供的项目,用于开发引用 DirectShow 的应用程序。
不幸的是,我们 checkin 存储库的版本已经过时,并且在构建时发出许多警告(所有警告都与警告 C4996:'GetVersionExW':已声明已弃用
有关)。
就我个人而言,我找不到任何有关如何找到 Windows 的这个小优点的最新(或实际上任何)版本的信息。就在几天前,Microsoft Learn 发布了有关此主题的教程 ( https://learn.microsoft.com/en-us/windows/win32/directshow/directshow-base-classes )。但是,它本质上是没有用的。
例如,如果我单击此处:https://learn.microsoft.com/en-us/windows/win32/directshow/using-the-directshow-base-classes它告诉我:
The base class library is provided as a SDK sample in the Microsoft Windows Software Development Kit (SDK) (https://go.microsoft.com/fwlink/p/?linkid=62332). The exact location depends on the version of the SDK that you have installed, but the relative path is:
(SDK samples root)\DirectShow\BaseClasses
我安装了 Visual Studio 2022,但其目录树和 C:\Program Files (x86)\Windows Kits 中都没有这样的路径。但是,如果我单击引用的链接,它会将我发送到一个页面,该页面基本上告诉我,要获取 Windows SDK,我需要做的就是下载 Visual Studio。嗯嗯....
有谁知道如何获取 DirectShow 基类的现代版本?微软在这一点上并没有提供太多帮助。
最佳答案
这是典型的 Microsoft:移动内容但未能更新引用。
如果您导航至 DirectShow sample apps ,您将在 Windows-classic-samples/Samples/Win7Samples/multimedia/directshow/ 下找到新 GitHub 主页的链接。 ,包括baseclasses目录。
由于您明确要求 DirectShow 基类的“当代”版本,因此 GitHub 存储库包含该版本。从那以后(据我所知)它们就没有更新过。 DirectShow 处于维护模式,Microsoft 鼓励客户改用更新的技术(例如 Microsoft Media Foundation 或 Windows.Media.Capture
命名空间下的 Windows 运行时类型)。
关于c++ - 在哪里可以找到构建 DirectShow BaseClasses 的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74846347/