gpt4 book ai didi

c++ - 编译器指责 "Error C2065: ' ENOTEMPTY' : undeclared identifier". VS 在 WinSock.h 而不是 errno.h 中寻找它的定义

转载 作者:行者123 更新时间:2023-12-02 11:06:53 25 4
gpt4 key购买 nike

在 Visual Studio 2010 下工作,我开发了一个库来 p/Invoke 来自第三方原生 C++ dll 的一些东西。我已经有一段时间没有接触过这个解决方案中的 C++ 项目了(尽管我时不时地回到 C# 项目中),并且一切正常。今天早上我不得不在 C++ 项目中添加一个新方法,我开始收到以下错误:

错误 2 错误 C2065: 'ENOTEMPTY' : 未声明的标识符 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\system_error 40 1 xxxNativeDll

(“xxxNativeDll”是我对第三方 .dll 的 C++ 包装器)

我不是 C++ 专家,但我在网上浏览了一下,我能找到的最接近的线索在这篇文章中:https://social.msdn.microsoft.com/Forums/vstudio/en-US/0abac212-6bde-40a0-81ce-9e2b0ddaa106/conversion-error-while-converting-project-from-msvs-2008-to-msvs-2010?forum=vcgeneral

基本上有人在 system_error 中的所有宏中都收到了未声明的标识符错误,在答案中,他被告知这些宏是在 errno.h 中定义的。好吧,这是我在构建输出中包含的内容,从 system_error 到错误本身:

2> 注意:包括文件:C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\system_error

2> 注意:包括文件:C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\cerrno

2> 注意:包括文件:C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\errno.h

2> 注意:包括文件:C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\crtdefs.h

2>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\system_error(40): error C2065: 'ENOTEMPTY' : undeclared identifier

可以肯定的是,我突出显示了 ENOTEMPTY,按 F12(转到定义),唉!我被重定向到 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include 文件夹中的 WinSock.h。令人惊讶的是,只有 ENOTEMPTY 重定向到这个文件,system_error 中的所有其他宏都重定向到 errno.h。我很确定这与我前段时间安装了 WinDDK 7 的事实有关,但是由于我很长一段时间都不需要在此解决方案中重建 C++ 项目,因此此后没有出现任何错误然后。

所以,长话短说,VS“认为”来自 system_error 的 ENOTEMPTY 是在 WinSock.h 中定义的,而它应该在 errno.h 中寻找它的定义。就像我说的,我不是 C++ 专业人士,那我该如何解决呢?拜托,我不想将 WinSock.h 添加到我的包含中,但我希望 VS 在正确的文件中查找 ENOTEMPTY。

最佳答案

正如评论中所指出的,它与 WinSock.h 无关,而是与错误的 errno.h 文件有关。我打算删除这个问题,但决定让它继续存在,因为那里没有足够的关于这类问题的信息。

关于c++ - 编译器指责 "Error C2065: ' ENOTEMPTY' : undeclared identifier". VS 在 WinSock.h 而不是 errno.h 中寻找它的定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39600935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com