GCC编译Keil可以编译通过的文件却仍然报错:#error "Please select first the target XXX 以及 undeclared XXX原因以及解决办法
一般报错有两种:
-
#error “Please select first the target STM32F4xx device used in your application (in stm32f4xx.h file)”
问题原因: 缺少指定芯片 -
undeclared + 标准库里的结构体名称,明明头文件也都包含了,但还是报错。
问题原因: 缺少声明使用哪个库
为什么Keil下编译不报错,放在GCC下编译就出错了?
这是由于Keil在 c/c++ 中define里自动帮助定义了这些
所以我们在使用GCC时需要自已进行定义。