Visual Studio - 静态库不会 link

Visual Studio - static library won't link

我在 Visual Studio 中创建了一个静态库(指定为 A),其中包含来自另一个库(指定为 B)的一些头文件。因为那是一个静态库,所以我不需要担心来自 A 的 .lib 文件。当我创建一个控制台应用程序(指定为 C)并添加来自 B 的 .lib 和头文件以及头文件和 .lib 文件时来自 A。当我尝试编译 C 时,它出现了未解决的外部问题,与 A 无关,但与 B 相关。

我又创建了两个测试项目,一个静态库和一个控制台应用程序。静态库仍然使用 A,控制台应用程序仍然使用 A 和新的静态库,即使没有 A 的头文件,它也能正常编译。

我已经 运行 了解了所有差异,但我看不出有什么会阻止 C 编译的。唯一的区别是项目存储的文件夹。我已经双重验证了头文件和 .lib 文件的位置,它们都在那里。我将如何修复 LNK2001 错误?

编辑:我意识到我的 post 没有多大意义,但是当我尝试在另一个项目中使用我的库时,它根本不会 link 而且我看不到原因。

要link使用.lib文件,您只需要:

1、Additional Include Directories(属性 ->c/c++ -> General -> Additional Include Directories)

添加头文件的路径

2,将.lib文件的路径添加到Additional Library Directories(属性 -> linker -> General -> Additional Library Directories)

3、Additional Dependencies(属性 -> linker -> input -> Additional Dependencies)

添加.lib文件名及其扩展名

如果无法解决此问题,建议您参考文档:Linker Tools Error LNK2001