我在DirectXTK GamePad tutorial上遵循如何将GamePad集成到我的应用程序中,但是在尝试创建GamePad时遇到errorLNK2019。

到目前为止,我已经:


我的Controller头文件中包含GamePad.h
添加

std::unique_ptr<DirectX::GamePad> mGamePad;


在我的控制器课上
在Controller :: Init()中添加

mGamePad = std::make_unique<GamePad>();



当我添加最后一行代码时,我得到了错误(长期错误):

DirectXTK.lib(GamePad.obj) : error LNK2019: unresolved external symbol __imp_RoGetActivationFactory referenced in function "long __cdecl ABI::Windows::Foundation::GetActivationFactory<struct ABI::Windows::Gaming::Input::IGamepadStatics>(struct HSTRING__ *,struct ABI::Windows::Gaming::Input::IGamepadStatics * *)" (??$GetActivationFactory@UIGamepadStatics@Input@Gaming@Windows@ABI@@@Foundation@Windows@ABI@@YAJPEAUHSTRING__@@PEAPEAUIGamepadStatics@Input@Gaming@12@@Z)
DirectXTK.lib(GamePad.obj) : error LNK2019: unresolved external symbol WindowsCreateStringReference referenced in function "private: void __cdecl Microsoft::WRL::Wrappers::HStringReference::CreateReference(wchar_t const *,unsigned int,unsigned int)" (?CreateReference@HStringReference@Wrappers@WRL@Microsoft@@AEAAXPEB_WII@Z)
fatal error LNK1120: 2 unresolved externals


在我的应用程序中,我已经使用SpriteBatch了,没有任何问题,因此我猜想在将DirectXTK包含在解决方案中时,我已经做了所有正确的事情。

我也尝试使用以下方式创建GamePad

mGamePad.reset( new GamePad() );


我在本教程的older version中找到的。

另外..已插入控制器。
关于我在做什么错的任何建议吗?谢谢!

最佳答案

您必须将项目与RuntimeObject.lib链接

10-06 01:55