未解决的外部符号问题

4

我正在开发一个需要鼠标输入(位置和左键单击)的小游戏。我有一个GameManager类来控制GameScreen,其中包括d3d9.h d3dx9.hdinput.h。在添加鼠标输入代码和#include <dinput.h>之前,一切都正常(构建,没有错误)。但是现在,我无法构建,并面临以下问题:

1>GameScreen.obj : error LNK2001: unresolved external symbol _GUID_SysMouse
1>GameScreen.obj : error LNK2001: unresolved external symbol _IID_IDirectInput8A
1>dinput8.lib(dilib1.obj) : error LNK2001: unresolved external symbol _GUID_ZAxis
1>dinput8.lib(dilib1.obj) : error LNK2001: unresolved external symbol _GUID_YAxis
1>dinput8.lib(dilib1.obj) : error LNK2001: unresolved external symbol _GUID_XAxis

如果您对导致这个问题的原因不确定。在我的链接器中,我将d3d9.lib;d3dx9.lib;dinput8.lib;%(AdditionalDependencies)作为附加依赖项,并确保所有这些文件都存在于x86 DirectX目录中。如果需要,我可以提供其他信息。由于我刚开始学习C ++,所以不确定共享相关信息的典型协议。


1
http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/f533413d-c700-42b0-80f5-d85ea438f2bf - yohannist
2个回答

7
尝试将库dxguid.lib(以及可能的dinput8.lib)添加到链接器标志中。

1
谢谢!! dxguid是罪魁祸首 - Chris
很高兴能帮忙!如果您能接受答案并关闭这个问题,那就太好了。 - PherricOxide
不得不等待大约15分钟才能真正接受你的答案;)再次感谢! - Chris

1

前往项目->属性->链接器->输入->附加依赖项,并添加 "dxguid.lib" -> 应用。这对我起作用了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接