当 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
有效,因为无论选择的配置和平台如何,它都适用。
我正在使用使用 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
有效,因为无论选择的配置和平台如何,它都适用。