【发布时间】:2020-08-03 04:04:00
【问题描述】:
我在 Visual Studio 中创建了一个静态库(指定为 A),其中包含来自另一个库(指定为 B)的一些头文件。因为那是一个静态库,所以我不需要担心来自 A 的 .lib 文件。当我创建一个控制台应用程序(指定为 C)并添加来自 B 的 .lib 和头文件以及头和 .lib 文件时来自 A。当我尝试编译 C 时,它会出现未解决的外部问题,与 A 无关,但与 B 无关。
我又创建了两个测试项目,一个静态库和一个控制台应用程序。静态库仍然使用A,控制台应用程序仍然使用A和新的静态库,即使没有A的头文件,它也可以正常编译。
我已经了解了所有的差异,我看不出任何会阻止 C 编译的东西。唯一的区别是存储项目的文件夹。我已经双重验证了头文件和 .lib 文件的位置,它们都在那里。我将如何解决 LNK2001 错误?
编辑:我意识到我的帖子没有多大意义,但是当我尝试在另一个项目中使用我的库时,它根本不会链接,我看不出原因。
【问题讨论】:
标签: c++ visual-studio visual-c++ static-libraries static-linking