首页 > 解决方案 > Visual Studio 没有为静态库构建创建 .lib 文件

问题描述

视窗 10

Microsoft Visual Studio 社区 2019 版本 16.7.3

在我的解决方案中,有项目 A、B 和 C。A 和 B 的配置类型设置为Static Library (.lib)。A、B 和 C 都将其输出目录设置为$(SolutionDir)bin\builds$(Configuration)-$(Platform)$(ProjectName)\

输出文件是所有三个的默认$(OutDir)$(TargetName)$(TargetExt)

C 的配置类型是Application (.exe)。它的附加包含目录设置为$(SolutionDir)A\src;$(SolutionDir)B\src

A 和 B 的 src 文件夹分别有 Ah 和 Bh 文件。

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

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

任何帮助将不胜感激。

标签: c++visual-studiovisual-studio-2019static-libraries

解决方案


我建议您可以参考 Microsoft Docs 关于lnk1104

  • 如果链接器尝试访问文件名时文件名尚不存在,您可能会看到此错误。当解决方案中的一个项目依赖于另一个项目,但项目以错误的顺序构建时,可能会发生这种情况。要解决此问题,请确保在使用该文件的项目中设置您的项目引用。然后在需要之前构建丢失的文件。

然后,您可以参考链接以获取有关Consuming libraries and components.

如果您的静态库项目是在同一个解决方案中构建的:

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

推荐阅读