// Preprocessor directive mention in <> formate :
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
#include "string.h"
#include "limits.h"
#include "stddef.h"
#include "stdint.h"
...
int main()
{
FILE *fin, *fout; //Error[Pe020]: identifier "FILE" is undefined
...
...
...
fprintf(stderr, "%s\n", opus_get_version_string());
//Error[Pe020]: identifier "stderr" is undefined
}
根据上面的代码,我得到了两个错误:
1) "ErrorPe020:标识符“文件是未定义的”“
当我找到stdlib.h时,就没有任何类型的"FILE“指令define或typedef。所以,请告诉我stdlib.h或stdio.h需要哪些更改
2) ErrorPe020:标识符"stderr“是未定义的
那么,在哪个头文件中定义了stderr?
请告诉我如何解决上述错误?
提前谢谢。
发布于 2018-04-04 05:39:17
首先,FILE
在stdio.h
中,而在stdlib.h
中。第二,默认库不包括FILE
支持,因为此特性占用大量空间,在嵌入式系统中很少需要。要使用FILE
,您必须切换到配置对话框中的完整库(如果使用IDE),或者通过使用命令行开关--dlib full
(如果从命令行使用编译器)。
请注意,完整库比普通库要大得多,所以如果FILE
的唯一用途是将诊断消息打印到stderr
,我建议您使用其他方式来表示这些消息。
发布于 2022-03-29 10:16:48
文件在stdio.h标准头文件中定义。正如、Johan、提到的那样,IDE中的默认库配置不包括完全的Dlib支持。我们可以在项目选项下更改为完整的Dlib支持。项目选项应使用ALT + F7热键或项目选项卡打开,然后使用options打开。检查这张图片。项目选择
https://stackoverflow.com/questions/49643186
复制相似问题