调用 Win32 API 函数时未定义的引用

Undefined Reference when calling Win32 API Function

本文关键字:未定义 引用 函数 Win32 API 调用      更新时间:2023-10-16

我正在尝试使用 SetCursorPos 函数在 Windows 10 中使用C++移动光标。

这是我的代码:

#include <Windows.h>
int main()
{
SetCursorPos(100,100);
return 0;
}

每当我运行代码时,我都会收到此错误:

undefined reference to `SetCursorPos@8'

我已经通读了什么是未定义的引用/未解决的外部符号错误以及如何解决它?,但我找不到解决问题的方法。

我确定我错过了一些东西,但我不知道那是什么东西;对不起,如果答案张贴在其他地方。

Microsoft在user32库中提供SetCursorPos函数(请参阅MSDN(

如果使用 Visual C++ 编译器Microsoft则可以使用名称"user32.lib"将该库静态添加到项目中。

如果您改用GCC,则名称具有另一个扩展名:"user32.a"。通常,".a"扩展名在GCC中是默认的,因此无需将其传递给编译器。

如果要添加不在 GCC 识别路径中的库,则需要"-L"标志来告诉 GCC 在哪里查找该库。"-l"标志(小写L(告诉GCC使用该库。

苏玛琳:

g++ movecursor.cpp -luser32