Visual Studio不为静态库生成创建.lib文件

问题描述

Windows 10

Microsoft Visual Studio社区2019 版本16.7.3

在我的解决方案中,有项目A,B和C。A和B的配置类型设置为 静态库(.lib) 。 A,B和C的输出目录均设置为 $(SolutionDir)bin \ builds $(Configuration)-$(Platform)$(ProjectName)\ >

所有三个文件输出文件均为 $(OutDir)$(TargetName)$(TargetExt)

C的配置类型为 应用程序(.exe) 。它的附加include目录设置为 $(SolutionDir)A \ src; $(SolutionDir)B \ src

A和B的src文件夹分别具有A.h和B.h文件

C的引用设置为具有A和B。

当我(重新)构建C时,它成功地构建了A和B,但随后出现LNK1104错误提示它无法打开 bin \ builds \ Debug-x64 \ A \ A.lib 。无法打开它的原因是因为该文件不存在。我清理解决方案并重建A,它说成功了,但是尽管如此,仍未创建.lib文件。我使用文件资源管理器搜索解决方案中的所有内容,但没有一个.lib文件

任何帮助将不胜感激。

解决方法

我建议您可以参考有关lnk1104的Microsoft文档。

  • 如果链接器不存在文件名,您可能会看到此错误 尝试访问它。当一个项目依赖于另一个项目时可能会发生 在解决方案中,但是项目的构建顺序错误。修理 此问题,请确保在项目中设置了项目引用 使用该文件。然后,丢失的文件将在构建之前被构建 必填。

然后,您可以参考link以获得有关Consuming libraries and components的更多信息。

如果您的静态库项目是使用相同的解决方案构建的:

  1. #使用引号将静态库的头文件包含在内。在典型的解决方案中,路径将以开头。智能感知 将帮助您找到它。../<library project name>
  2. 添加对静态库项目的引用。右键点击 解决方案资源管理器中应用程序项目节点下的引用 并选择Add Reference
,

我遇到了与您相同的问题以及类似的项目结构。 这就是我所做的,问题已解决... 转到,链接器 -> 常规 -> 使用库依赖输入,然后选中