找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

STM32 oled显示加了#include "oledfont.h"就报错,不加就不报错

查看数: 7155 | 评论数: 12 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-7-25 10:49

正文摘要:

不加#include "oledfont.h"为第一张 加了之后就是第二张,提示我在oledfont.h中定义的那几个字模数组在main和oled重定义 有大佬知道怎么回事嘛? 一个include怎么会有定义呢? 感谢感谢

回复

ID:284665 发表于 2019-7-31 23:02
你定义头文件的时候参照#ifndef的方式可以避免重复定义
ID:275398 发表于 2019-7-31 22:06
应该是头文件没有添加条件编译吧,导致重复编译了
ID:494791 发表于 2019-7-31 17:54
aaaaaa。 发表于 2019-7-28 19:42
因为在“oledfont.h”中定义了许多数组,“oled.c”文件中采用#include “oledfont.h”,调用“oledfont.h ...

已经改正,就是你说的这个原因,谢谢
ID:511461 发表于 2019-7-28 19:42
因为在“oledfont.h”中定义了许多数组,“oled.c”文件中采用#include “oledfont.h”,调用“oledfont.h”中的数组;在主函数"main.c"中也采用#include “oledfont.h”,调用“oledfont.h”中的变量,就会导致“oledfont.h”中的变量被重复定义。
就像你做的那样不需要再主函数里再加上#include “oledfont.h”,问题就解决了
ID:494791 发表于 2019-7-26 15:32
不加oledfont.h也能够正常显示,但是我就是想知道为什么不能添加
ID:494791 发表于 2019-7-26 15:31
cjm82 发表于 2019-7-25 21:55
你看下OLED.H里面有没有对字模数组进行重定义

没有啊,字模全在oledfont,h里面定义了
ID:494791 发表于 2019-7-26 15:29
yzwzfyz 发表于 2019-7-25 12:10
知道【#include】是什么意思吗?
你在让系统编译一个有错的东西了。

oledfont.h里面只有定义的字码,有什么错误呢?
ID:494791 发表于 2019-7-26 15:29

添加了,和oled.h在一个文件夹里面
ID:388197 发表于 2019-7-25 21:55
你看下OLED.H里面有没有对字模数组进行重定义
ID:342822 发表于 2019-7-25 16:17
加#include ../"oledfont.h试试
ID:546770 发表于 2019-7-25 13:41
路径添加了没有?
ID:123289 发表于 2019-7-25 12:10
知道【#include】是什么意思吗?
你在让系统编译一个有错的东西了。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表