- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
使用 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/
使用 MSVC 2015 版本 14.0.25431.01 更新 3 .cpp 文件有 #include 项目属性中的 VC++ 包含路径是 $(VC_IncludePath);$(WindowsS
我是一名优秀的程序员,十分优秀!