gpt4 book ai didi

c++ - WaitOnAddress 未解决

转载 作者:太空宇宙 更新时间:2023-11-04 06:17:54 25 4
gpt4 key购买 nike

使用 MSVC 2015 版本 14.0.25431.01 更新 3

.cpp 文件有 #include <windows.h>

项目属性中的 VC++ 包含路径是 $(VC_IncludePath);$(WindowsSDK_IncludePath); .这是默认安装,未被篡改。

程序使用了几个WINAPI函数,编译无误,但是如果我重建程序 (ReleasUnicode/Win32),我会收到一个链接错误:

LNK2019 unresolved external symbol _WaitOnAddress@16

所有其他 WinAPI 函数都已解析。

经过数小时的试错,我发现将文件 C:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\um\x86\synchronization.lib 手动添加到项目中可以解决此错误.另一方面,改为添加其路径 C:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\um\x86 , 到 VC++ include 目录没有解决错误。

为什么会出现这个错误?我想我已经正确地包含了库路径和头文件,并且所有其他 WinAPI 调用都可以正常工作。

最佳答案

documentation表示您必须链接到 synchronization.lib(请参阅要求部分)。

通常,您只需将 synchronization.lib 添加到要链接到 Project Properties->Linker->Input->Additional Dependencies 的库列表中。

大多数winapi函数都可以通过kernel32.lib、user32.lib等默认链接的库使用,但这些API需要你显式链接到synchronization.lib

请注意,这与您在源代码中 #include 的头文件不同,头文件包含声明,而 .lib 文件包含您链接到应用程序的实现,或者 .lib 文件指向 .dll 文件应用程序将在运行时加载。

关于c++ - WaitOnAddress 未解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41430077/

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