解决错误“ #error “include FreeRTOS.h“ must appear in source files before “include event_groups.““例子分享

今天来给大家分享一下,关于之前自己在学习FreeRTOS过程中遇到的一个错误提示,话不多说,我们直接来看~

错误分析

首先,我们看一下错误的提示:error: #35: #error directive: “include FreeRTOS.h” must appear in source files before “include event_groups.h”。编译时候报错如下图所示:
在这里插入图片描述
这个错误其实是提示我们,如果我们调用了event_groups.h头文件,那还必须在调用FreeRTOS.h才行。否则编译时候会直接出现相应的预处理错误。因为在event_groups.h的文件里面有这样一段代码,如下:

#ifndef INC_FREERTOS_H
	#error "include FreeRTOS.h" must appear in source files before "include event_groups.h"
#endif

可以如果没有预定义INC_FREERTOS_H的话,编译就会到#error这里,而INC_FREERTOS_H是在FreeRTOS.h里面定义的,如图所示:

解决错误“ #error “include FreeRTOS.h“ must appear in source files before “include event_groups.““例子分享_第1张图片
所以,可以知道我们在使用FreeRTOS的内核源码文件时候都需要配合FreeRTOS.h才行。

解决方法

只需要在你使用到event_groups.h的文件上或者有使用到其他FreeRTOS内核源码的文件上前加上FreeRTOS.h文件即可。加上之后,我们再次编译,可以看到此时编译通过了。
解决错误“ #error “include FreeRTOS.h“ must appear in source files before “include event_groups.““例子分享_第2张图片

如果有其他小伙伴也遇到这种情况或者相似的情况下,可以参考我的这个例子来解决一下问题。

好了,今天的分享就到这里了~

本人水平有限,上述信息仅供学习参考,如有错误和不妥之处,请多多指教。
另外创作不易,请勿抄袭,如果有帮助到大家的话希望大家可以点个赞和收藏,谢谢~

你可能感兴趣的:(嵌入式,FreeRTOS,单片机,嵌入式,stm32,FreeRTOS,经验分享)