找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6148|回复: 12
打印 上一主题 下一主题
收起左侧

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

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

oled(2).png (270.41 KB, 下载次数: 118)

加#include "oledfont.h"

加#include "oledfont.h"

oled.png (180.75 KB, 下载次数: 119)

不加#include "oledfont.h"

不加#include "oledfont.h"
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:123289 发表于 2019-7-25 12:10 | 只看该作者
知道【#include】是什么意思吗?
你在让系统编译一个有错的东西了。
回复

使用道具 举报

板凳
ID:546770 发表于 2019-7-25 13:41 | 只看该作者
路径添加了没有?
回复

使用道具 举报

地板
ID:342822 发表于 2019-7-25 16:17 | 只看该作者
加#include ../"oledfont.h试试
回复

使用道具 举报

5#
ID:388197 发表于 2019-7-25 21:55 | 只看该作者
你看下OLED.H里面有没有对字模数组进行重定义
回复

使用道具 举报

6#
ID:494791 发表于 2019-7-26 15:29 | 只看该作者

添加了,和oled.h在一个文件夹里面
回复

使用道具 举报

7#
ID:494791 发表于 2019-7-26 15:29 | 只看该作者
yzwzfyz 发表于 2019-7-25 12:10
知道【#include】是什么意思吗?
你在让系统编译一个有错的东西了。

oledfont.h里面只有定义的字码,有什么错误呢?
回复

使用道具 举报

8#
ID:494791 发表于 2019-7-26 15:31 | 只看该作者
cjm82 发表于 2019-7-25 21:55
你看下OLED.H里面有没有对字模数组进行重定义

没有啊,字模全在oledfont,h里面定义了
回复

使用道具 举报

9#
ID:494791 发表于 2019-7-26 15:32 | 只看该作者
不加oledfont.h也能够正常显示,但是我就是想知道为什么不能添加
回复

使用道具 举报

10#
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”,问题就解决了
回复

使用道具 举报

11#
ID:494791 发表于 2019-7-31 17:54 | 只看该作者
aaaaaa。 发表于 2019-7-28 19:42
因为在“oledfont.h”中定义了许多数组,“oled.c”文件中采用#include “oledfont.h”,调用“oledfont.h ...

已经改正,就是你说的这个原因,谢谢
回复

使用道具 举报

12#
ID:275398 发表于 2019-7-31 22:06 | 只看该作者
应该是头文件没有添加条件编译吧,导致重复编译了
回复

使用道具 举报

13#
ID:284665 发表于 2019-7-31 23:02 | 只看该作者
你定义头文件的时候参照#ifndef的方式可以避免重复定义
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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