当 lib 已添加到附加依赖项时,如何在 VS 中调试未解决的外部符号错误

How to debug unresolved external symbols error in VS when lib is already added to additional dependencies

我正在使用使用 wininet.lib 中函数的 C++ 库。当我在 VS2017 中编译时,出现 link 错误。

我已将 wininet.lib 添加到项目的附加依赖项中,并确保它在最终命令行中,但仍然出现 linker 错误:

LNK2001 unresolved external symbol __imp_InternetOpenW

但是如果我添加:

#pragma comment(lib,"Wininet.lib")

到我的代码。我有另一个类似的项目,可以在没有 #pragma 的情况下使用同一个库编译得很好。

如何调试为什么VS2017在添加lib到附加依赖时找不到依赖?

您可能只为特定配置或平台添加了 wininet.lib,但为另一种组合构建。请仔细查看您的项目属性。在属性对话框的最顶部有两个下拉列表。

这至少可以解释为什么 #pragma 有效,因为无论选择的配置和平台如何,它都适用。