错误[P​​e020]:IAR Workbench中未定义标识符“FILE”

时间:2018-04-04 05:06:04

标签: file compiler-errors stderr iar

// 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)“错误[Pe020]:标识符”FILE“未定义”

当我找到stdlib.h时,没有任何类型的“FILE”指令define或typedef。    那么,请告诉我stdlib.h或stdio.h中需要哪些更改

2)错误[Pe020]:标识符“stderr”未定义

那么,stderr在哪个头文件中定义?

请告诉我如何解决上述错误?

提前致谢。

1 个答案:

答案 0 :(得分:1)

首先,'<td>'.'.<a href="{{url(\'edp.show\'.$indent->id)}}">.'.'<img src="assets/images/select.jpg" class="imgsize">.'.'</a>.'.'</td>'. 位于FILE而非stdio.h。其次,默认库不包含stdlib.h支持,因为此功能使用了大量空间,并且在嵌入式系统中很少需要。要使用FILE,必须在配置对话框中切换到完整库(如果使用IDE)或使用命令行开关FILE(如果从命令行使用编译器)。

请注意,完整的库比普通库大得多,因此如果仅使用--dlib full将诊断消息打印到FILE,我建议您使用其他方式显示消息。