我在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
链接