【问题标题】:VS2015 not linking user32.libVS2015 未链接 user32.lib
【发布时间】:2018-10-03 20:25:23
【问题描述】:

我刚刚继承了一个已有 10 年历史的项目的维护,其中包括将其从 VS2005 移至 VS2015。我大部分都在那儿,但是当我链接时出现此错误:

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

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

【问题讨论】:

    标签: c++ windows visual-studio-2015


    【解决方案1】:

    在项目级别取lib文件的依赖,然后add your paths to your properties page

    【讨论】:

      【解决方案2】:

      Windows Kits\8.1 告诉您已安装 Windows 8.1 SDK。现在有一个 Windows 10 SDK,但这对你来说可能并不重要 - user32.lib 一直存在。

      这里的问题似乎是,当您安装了 8.1 SDK 时,Visual Studio 并没有意识到这一点。 IIRC,它在 VS2015 安装程序中,因此您可以重新运行它并在那里重新选择 SDK。 (或者选择另一个 SDK - 无论如何,您可能会将 SDK 限制为 Win7)

      【讨论】:

        猜你喜欢
        • 2015-02-21
        • 2016-11-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-16
        • 1970-01-01
        • 2013-03-10
        • 1970-01-01
        相关资源
        最近更新 更多