我正在尝试使用 DirectInput 来控制学校项目的小型 3D 应用程序上的相机移动。我在 VS2010 上使用 C++。
根据这个链接,我需要在我的项目属性上链接dxguid.lib和dinput8.lib 。所以,我添加了它们。
这导致 VS2010 无法读取dxguid.lib。因此,我必须从Microsoft 的下载页面下载并安装 DirectX SDK 。这导致了 S1023 错误,用微软的解决方案解决。
我不断收到其他编译错误,一些搜索将我带到了这个站点。在这样做之后,我现在只得到 2 个未解决的外部:
error LNK2001: unresolved external symbol _IID_IDirectInput8W
error LNK2019: unresolved external symbol _DirectInput8Create@20
这是相关代码,取自第一个链接,稍作修改:
bool GamePad::InitDirectInput(void)
{
if(FAILED(DirectInput8Create(GetModuleHandle(NULL),
DIRECTINPUT_VERSION,
IID_IDirectInput8,
(void**)&m_pDIObject,
NULL)))
{
MessageBox(NULL,
L"DirectInput8Create() failed!",
L"InitDirectInput()",
MB_OK);
return false;
}
return true;
}
我所做的每次搜索都会返回到上面提供的相同解决方案或类似的解决方案。我找不到我没有做过的事情。任何人都可以提供一个想法吗?问题可能是我使用的是 Windows 8 吗?提前致谢。
更新
我设法通过使用解决了第一个问题
#include <InitGuid.h>
但第二个仍然存在,令我沮丧的是......