将IDXGIAdapter1投射到IDXGIAdapter4 [DirectX和WinRT / C ++]

问题描述

我试图像这样将IdxgiAdapter1实例转换为IdxgiAdapter4:

winrt::com_ptr<IdxgiAdapter1> adapter;

winrt::com_ptr<IdxgiAdapter4> adapter{adapters.front().as<IdxgiAdapter4>()};

但是存在链接错误

错误LNK2019:未在函数“公共:__cdecl winrt :: hresult_error :: hresult_error(struct winrt :: hresult,struct winrt :: hresult_error :: from_abi_t)”中引用的未解析的外部符号WINRT_GetRestrictedErrorInfo”(0hresult_error @ winrt @@ QEA @ Uhresult @ 1 @ Ufrom_abi_t @ 01 @@ Z) 错误LNK2019:在函数“私有:void __cdecl winrt :: hresult_error :: originate(struct winrt :: hresult,void *)”中引用的未解析的外部符号WINRT_RoOriginateLanguageException”(?originate @ hresult_error @ winrt @@ AEAAXUhresult @ 2 @ PEAX @ Z

我在做什么错了?

解决方法

我通过链接“ RuntimeObject.lib”库解决了该问题。感谢您的帮助,Faywang-MSFT。