我正在使用在wininet.lib中使用函数的C ++库。在VS2017中编译时,出现链接错误。
我已将wininet.lib添加到项目的其他依赖项中,并确保它位于最终命令行中,但仍会出现链接器错误:
LNK2001无法解析的外部符号__imp_InternetOpenW
但是如果我添加,一切都会编译:
#pragma comment(lib,"Wininet.lib")
根据我的代码。我还有另一个类似的项目,可以在没有#pragma的情况下使用同一库进行编译。
如何调试为什么将lib添加到其他依赖项时VS2017找不到依赖项?
您可能只为特定配置或平台添加了wininet.lib
,但为其他组合而构建。请仔细查看您的项目属性。属性对话框的最顶部有两个下拉列表。
这至少将解释#pragma
为何起作用,因为无论选择何种配置和平台,它都适用。