gpt4 book ai didi

c++ - GetAsyncKeyState 返回致命链接错误

转载 作者:太空狗 更新时间:2023-10-29 20:54:12 29 4
gpt4 key购买 nike

我正在尝试用 C++ 制作一个基本的控制台游戏,当我尝试在以下代码中使用 GetAsyncKeyState 时:

   if(GetAsyncKeyState(VK_UP) != 0){
int y2 = (y - 1);
switch(Map[y2][x]){
case ' ':{
Map[y][x] = ' ';
y -= 1;
Map[y2][x] = 'O';
}
}
}

...但是当我尝试编译它时,我不断收到以下错误:

    error LNK2019: unresolved external symbol __imp__GetAsyncKeyState@4 referenced in function "void __cdecl Draw(void)" (?Draw@@YAXXZ)

fatal error LNK1120: 1 unresolved externals

我不确定是否需要包含除 iostreamwindows.h 之外的任何库

最佳答案

错误来自链接器。您必须链接 User32.lib,其中定义了 GetAsyncKeyState 符号(实际上它是 User32.dll 的导入库)。你可以通过写作来做到这一点

#pragma comment(lib, "User32.lib")

在您的 .cpp 文件中,或将 User32.lib 添加到您的链接器命令行。

请注意,如果您使用 Microsoft Visual Studio 并创建一个非空的 Win32 项目,则所需的默认 Windows 系统库已经链接。但是,由于您没有说明具体是如何编译和链接的,因此我不会在此主题上展开更多内容。

关于c++ - GetAsyncKeyState 返回致命链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40050821/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com