VS2015 未链接用户32.lib

VS2015 not linking user32.lib

本文关键字:lib 用户 链接 VS2015      更新时间:2023-10-16

我刚刚继承了一个10年前项目的维护,其中包括将其从VS2005移动到VS2015。 我大部分时间都在,但是当我链接时,我收到此错误:

错误 LNK2019:未解析的外部符号__imp__MessageBoxA@16

快速搜索发现这需要user32.lib。 当我转到属性->链接器->其他依赖项时,我在"继承的值"下看到该库列表,但它仍然没有链接。 当我显式添加硬编码路径和文件名(C:\Program Files (x86(\Windows Kits\8.1\Lib\winv6.3\um\x86\user32.lib(作为另一个依赖项时,它确实成功链接...这没关系,我想,但如果没有别的,我依赖那个特定的安装位置是丑陋的(你知道软件开发人员会决定把东西贴在奇怪的地方(...... 任何人都会猜测为什么Visual Studio首先找不到库,以及如何以正确的方式修复它?

在项目级别获取对 lib 文件的依赖关系,然后将路径添加到属性页。

Windows Kits8.1告诉您已安装Windows 8.1 SDK。现在有一个Windows 10 SDK,但这对你来说可能并不重要 - user32.lib已经存在了很长时间。

这里的问题似乎是,虽然你安装了8.1 SDK,但Visual Studio并不知道它。IIRC,它位于VS2015安装程序中,因此您可以重新运行它并在那里重新选择SDK。(或者选择另一个SDK - 无论如何,您都可能会将 SDK 限制为 Win7(