【问题标题】:LNK2019 errors on project that has identical properties to another one that works项目中的 LNK2019 错误与另一个有效的项目具有相同的属性
【发布时间】:2018-08-27 09:19:36
【问题描述】:

使用 Visual Studio 社区 2017

我有 4 个项目:

  1. 使用 GLFW 和耦合其他库的静态库项目
  2. ProjectA 使用该库,编译良好​​li>
  3. ProjectB 也使用该库,编译良好​​li>
  4. 我最近创建并使用该库的 ProjectC 无法编译

ProjectC 与 ProjectB 和 ProjectA 具有相同的属性,应该没有什么不同吧?

但不知何故,我在编译 ProjectC 时遇到了这些错误:

glfw3.lib(context.obj):错误 LNK2001:未解析的外部符号 __imp___stdio_common_vsscanf

audio.lib(au.obj):错误 LNK2001:未解析的外部符号 __imp__stricmp

我尝试从他们的源代码构建 GLFW 和音频库并将项目替换为新建的,没有效果。

【问题讨论】:

  • 缺少的函数来自 Microsoft C 运行时库。检查 ProjectC 的链接器设置。仔细检查您是否在所有项目上使用相同的共享/静态运行时支持设置进行构建。
  • 我仔细检查了所有内容,我检查了 .vcxproj 文件的差异,一切都相同(项目 GUID 除外)
  • 好吧,这很奇怪,我做了一个新的解决方案,做了一个新的项目,做了所有的设置,得到了错误等等。我将 ProjectB 复制到解决方案中并添加它,编译它没有任何错误。然后我把ProjectC中的源文件和头文件拿到ProjectB中,包含在ProjectB中,排除了其他的原始文件,错误!

标签: c++ visual-studio glfw lnk2001


【解决方案1】:

再一次,我设法取消了附加包含目录中的“从父级或项目默认值继承”复选框。

请检查您的复选框!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-25
    • 1970-01-01
    • 2017-03-17
    • 2014-11-04
    • 2017-01-01
    • 2014-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多