使用 c++/WinRT Direct3D UWP 游戏 DR 模板的错误消息,Direct X11

Error Messages using the c++/WinRT Direct3D UWP Game DR template, Direct X11

我在使用这个模板时遇到这个编译器错误,我不知道如何解决它。标准编译器选项。 Visual Studio 2019,已安装最新更新。

它仍然可以编译,但我想了解它以了解我是否需要注意一些事情。

错误信息:

D:\Windows Kits\Include.0.18362.0\cppwinrt\winrt\base.h(6508,17): warning C5205: Das Löschen einer abstrakten Klasse "winrt::impl::implements_delegate<winrt::Windows::Foundation::EventHandler<winrt::Windows::UI::Core::BackRequestedEventArgs>,H>" mit einem nicht virtuellen Destruktor führt zu einem nicht definierten Verhalten.
1>        with
1>        [
1>            H=ViewProvider::SetWindow::<lambda_a6c7fb36f57ac2067fa5c75eb2603001>
1>        ]

这些是最近添加到 VS 2019 编译器的警告,作为改进 C++ 标准一致性的一部分。

您可以通过以下任一方式解决此问题:

  1. 禁用两个警告(5204、5205)
  2. 您可以禁用一致性模式(关闭 /permissive-)并仅禁用一个警告 (5205)
  3. 升级到最新的 Windows 10 SDK (19041) 即 now available
  4. 或者您在项目中安装 Microsoft.Windows.CppWinRT NuGet 包。

如果您想使用最新的 C++/WinRT 功能,选项 #4 是最佳选择,否则我推荐选项 #3。