首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DirectInput 8链接错误

DirectInput 8链接错误
EN

Stack Overflow用户
提问于 2013-05-07 18:03:44
回答 2查看 4.2K关注 0票数 2

我正在尝试使用DirectInput来控制一个学校项目的小型3D应用程序上的相机运动。我在VS2010上使用VS2010。

按照此链接,我需要在我的项目属性上链接dxguid.lib和dinput8.lib。所以我加了它们。

这导致VS2010无法阅读dxguid.lib。因此,我不得不从DirectX下载并安装微软的下载页面 SDK。这导致了S1023错误,用微软的解决方案解决了。

我不断地获得其他编译错误,一些搜索引导我到本站。在做完之后,我现在只得到了两个未解决的外部因素:

代码语言:javascript
复制
error LNK2001: unresolved external symbol _IID_IDirectInput8W
error LNK2019: unresolved external symbol _DirectInput8Create@20

这是相关代码,摘自第一个链接,并作了一些小修改:

代码语言:javascript
复制
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吗?提前谢谢。

更新

我设法解决了第一个通过使用

代码语言:javascript
复制
#include <InitGuid.h>

但第二种情况持续存在,让我感到沮丧.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-07 19:54:28

确保您的包含目录有以下条目:

代码语言:javascript
复制
$(DXSDK_DIR)include

现在,对于库目录,设置如下:

代码语言:javascript
复制
$(DXSDK_DIR)lib\x86

但是,安装visual和directx有一个已知的问题。如果前面的建议没有解决问题,请尝试卸载visual studio (确保您也删除了运行时的运行时)。并在安装了directx之后再次安装它。然后使用我在这里写的设置,它可能会起作用(对我来说是这样)。

票数 1
EN

Stack Overflow用户

发布于 2017-11-29 04:45:35

我也犯了同样的错误,并通过使用dinput8.lib和dxguid.lib链接来解决它。有趣的是,我不必包括InitGuid.h。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16425664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档