STM32/μVision中的报错问题及解决办法

@TOC

1.找不到头文件

问题概要

在正点原子stm32的TFTLCD显示实验例程中插入OLED显示功能时提示了找不到头文件的错误

在main.c文件中#include "oled.h"报错
在这里插入图片描述
HARWARE文件夹中已经添加了oled.c文件
在这里插入图片描述

编译报错:main.c(7): error: #5: cannot open source input file "oled.h": No such file or directory

解决方法

1.主窗口中点击Options for Target...按钮
在这里插入图片描述
2.选择C/C++选项卡,点击Include Paths右侧的...按钮
在这里插入图片描述
3.点击New(Insert)按钮添加新的路径
在这里插入图片描述
4.选择OLED文件夹的路径添加
在这里插入图片描述
5.确认保存
在这里插入图片描述
6.再次编译就能看到没有报错了

2.重复定义

问题概要

在把oled例程和lcd例程合并的时候出现错误

(这里以遥控例程为例,遥控例程中有lcd),在把oled复制到hardware文件夹里面之后编译,出现重复定义错误
在这里插入图片描述
报错信息中的变量asc2_××××是lcd的头文件Font.h和oled的头文件oledFont.h中的变量,两个文件内容是相同的,就是说lcd.c和oled.c两个文件中引用了同一个头文件造成了变量重复定义

解决方法

1.在lcd.c和oled.c文件中删除#include "font.h"#include "oledfont.h"
然后添加extern const unsigned char asc2_1206[95][12],asc2_1608[95][16],asc2_2412[95][36];外部定义这三个变量
在这里插入图片描述
在这里插入图片描述
2.在main.c文件中添加#include "font.h"(添加#include "oledfont.h" 也行,因为这两个文件内容是一模一样的)
在这里插入图片描述
6.再次编译就能看到没有报错了