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

问题描述 投票:1回答:1

我在使用这个模板的时候出现了这个编译器错误,我不知道怎么解决。标准编译器选项。Visual Studio 2019,安装了最新更新。

它仍然可以编译,但我想了解它,以知道我是否需要注意什么。

错误信息 。

D:\Windows Kits\10\Include\10.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>        ]
c++ templates uwp directx-11 c++-winrt
1个回答
0
投票

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

你可以用以下任何一种方法解决这个问题。

  1. 禁用两个警告(5204, 5205)
  2. 您可以禁用一致性模式(关闭 "一致性模式")。/permissive-),只禁用一个警告(5205)
  3. 升级到最新的Windows 10 SDK (19041),该SDK为 现行.
  4. 或者你安装 Microsoft.Windows.CppWinRT 在你的项目中使用NuGet包。

如果你想使用最新的C++WinRT特性,最好选择#4,否则我推荐选择#3。

© www.soinside.com 2019 - 2024. All rights reserved.