在Visual Studio 2017中获取errno上的链接错误lnk2001
我有一些C代码在Visual Studio的每个版本中编译,直到我升级到2017年。出于某种原因,升级过程打破了导致超过400个链接的链接器引用错误的东西,如HWND,SendMessage等在Visual Studio 2017中获取errno上的链接错误lnk2001
我通过链接器属性输入列表淹没,并添加user32.lib,gdi32.lib和其他一些解决大多数缺失的外部符号错误,但无法摆脱最后2个错误。他们两个都在寻找_errno哪些老C人员会认为是文件系统错误结果变量。我明确地将libcmtd.lib添加到我的链接器输入列表中,但仍然没有快乐。
如何解决VS2017中最后一个链接错误?
回答:
答案原来是VS2017改变了errno.h文件来声明errno。在过去的Visual Studio实现中,errno.h只是errno各种返回值的定义列表。在VS2017中,errno.h有条件地声明了errno。
如果errno为零或没有,我的文件只是关心errno的外部引用,所以我没有打扰在文件中包含errno.h。
所需要的只是将errno.h包含在对errno进行外部引用的文件中。
VS2017的变化很有道理,所以它有点奇怪,它没有做得太早。
以上是 在Visual Studio 2017中获取errno上的链接错误lnk2001 的全部内容, 来源链接: utcz.com/qa/257771.html