typedef声明的uint8_t类型出现重复定义

2020-01-13 18:33发布

为了方便程序开发,总是会将unsigned char 声明为 typedef unsigned char uint8_t
但是在导入到某个模块后,编译出现了类型的重复定义,如下图所示:
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
XTXB
1楼-- · 2020-01-13 21:10
看看头文件中是不是已经定义了,就像这样类似的

360截图-38489502.jpg (57.73 KB, 下载次数: 0)

下载附件

2018-11-28 19:56 上传

wudicgi
2楼-- · 2020-01-13 21:58
警告信息不是告诉你去看 Common.h 的第 6 行了吗
如果你要用 stdint.h, 就考虑把 Common.h 中自己的定义的去掉,改为在 Common.h 中写 #include <stdint.h>
xinyuan123
3楼-- · 2020-01-14 01:08
 精彩回答 2  元偷偷看……
xinyuan123
4楼-- · 2020-01-14 01:10
XTXB 发表于 2018-11-28 19:57
看看头文件中是不是已经定义了,就像这样类似的

在模块的.c文件中添加Common.h没有问题,但是在模块的.h文件中添加了Common.h就出现了问题
wudicgi
5楼-- · 2020-01-14 03:11
xinyuan123 发表于 2018-11-28 21:47
在模块的.c文件中添加Common.h没有问题,但是在模块的.h文件中添加了Common.h就出现了问题 ...

你的 Common.h 不会没加 include guard 吧? (#ifndef ... #endif)
LZ 位贴出来的信息太少,问题还是得你本地去找,肯定是有重定义的问题
xinyuan123
6楼-- · 2020-01-14 05:44
wudicgi 发表于 2018-11-28 21:50
你的 Common.h 不会没加 include guard 吧? (#ifndef ... #endif)
LZ 位贴出来的信息太少,问题还是得你 ...

谢谢大拿指导,问题已解决:)

一周热门 更多>