Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编译器指责“错误C2065:‘e诱惑’:未声明的标识符”。VS在WinSock.h而不是errno.h中查找其定义 在Visual Studio 2010下工作,我开发了一个库来从第三方原生C++ DLL调用/调用一些东西。虽然我偶尔回到C项目,一切都很好,但我在这个解决方案中还没有接触过C++项目。今天上午我必须为C++项目添加一个新方法,我开始得到以下错误:_C++_Visual Studio 2010_Compiler Errors - Fatal编程技术网

编译器指责“错误C2065:‘e诱惑’:未声明的标识符”。VS在WinSock.h而不是errno.h中查找其定义 在Visual Studio 2010下工作,我开发了一个库来从第三方原生C++ DLL调用/调用一些东西。虽然我偶尔回到C项目,一切都很好,但我在这个解决方案中还没有接触过C++项目。今天上午我必须为C++项目添加一个新方法,我开始得到以下错误:

编译器指责“错误C2065:‘e诱惑’:未声明的标识符”。VS在WinSock.h而不是errno.h中查找其定义 在Visual Studio 2010下工作,我开发了一个库来从第三方原生C++ DLL调用/调用一些东西。虽然我偶尔回到C项目,一切都很好,但我在这个解决方案中还没有接触过C++项目。今天上午我必须为C++项目添加一个新方法,我开始得到以下错误:,c++,visual-studio-2010,compiler-errors,C++,Visual Studio 2010,Compiler Errors,错误2错误C2065:“Enoterty”:未声明的标识符C:\Program Files x86\Microsoft Visual Studio 10.0\VC\include\system\u错误40 1 xxxNativeDll XXXNATIVEDLL是我的第三方DLL 的C++包装器 我不是C++专家,但我在网上浏览了一点,我能找到的最接近的线索是: 基本上,有人在system_error中得到所有宏的未声明标识符错误,在回答中,他被告知这些宏是在errno.h中定义的。好的,这里是

错误2错误C2065:“Enoterty”:未声明的标识符C:\Program Files x86\Microsoft Visual Studio 10.0\VC\include\system\u错误40 1 xxxNativeDll

XXXNATIVEDLL是我的第三方DLL

的C++包装器 <>我不是C++专家,但我在网上浏览了一点,我能找到的最接近的线索是: 基本上,有人在system_error中得到所有宏的未声明标识符错误,在回答中,他被告知这些宏是在errno.h中定义的。好的,这里是我在构建输出中的包含,从系统错误到错误本身:

2> 注意:包括文件:C:\Program Files x86\Microsoft Visual Studio 10.0\VC\include\system\U错误

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\u error40:error C2065:“e诱惑”:未声明的标识符

为了确定,我突出显示了一个诱惑,点击F12进入定义,唉!我被重定向到C:\Program Files x86\Microsoft SDK\Windows\v7.0A\Include文件夹中的WinSock.h。令人惊讶的是,只有Enotery重定向到此文件,system_error中的所有其他宏都重定向到errno.h。我确信这与我在前一段时间安装了Wordk 7的事实有关,但是由于我不需要在这个解决方案中重建C++项目,所以从那时起就没有错误。
因此,长话短说,VS认为来自system_错误的诱惑是在WinSock.h中定义的,而它应该在errno.h中查找它的定义。就像我说的,我不是C++专业的,所以我怎么解决呢?请注意,我不想将WinSock.h添加到我的includes中,但我希望VS在正确的文件中查找Enotery。

正如评论中指出的,它与WinSock.h无关,而是一个错误的errno.h文件。我本来打算删除这个问题,但决定让它继续下去,因为关于这类问题的信息还不够。

ENOTMEPTY?你是说Enotery吗?嗯,不,在Winsock.h的声明之前有一个if 0指令。顺便说一句,你不应该使用它,它只是为了帮助25年前编写的端口代码。查看errno.h以了解Enoterty的情况,实际打开该文件。我检查了我的C:\Program Files x86\Microsoft Visual Studio 10.0\VC\include\errno.h文件,该文件具有Enoterty define Enoterty 41的定义。我的v7.0A WinSock.h有一个地方可以定义它,但它位于if 0块中,因此没有编译。你们都是对的。在我的例子中,我在errno.h中定义了ENOT 41,但我不知道这是怎么发生的。我应该只更正头文件吗?我可能会工作,但现在我担心是什么原因造成的,还有可能发生什么。。。