multiple definition of “ ”问题排查

编译代码的时候,出现下面的错误信息,好几处源文件都报这样的错误

Platform.o: In function `printDbug':
code/PT/uart.h:64: multiple definition of `printDbug'
main.o:code/PT/uart.h:64: first defined here
test_config.o: In function `printDbug':
code/PT/uart.h:64: multiple definition of `printDbug'
main.o:code/PT/uart.h:64: first defined here

可以看到,在源文件main.o Platform.o,test_config.o文件都报函数的重复定义,就怀疑是重复定义的函数“printDbug”是因为头文件的的重复加载导致的,就在头文件加上了防止头文件加载的宏定义,重新编译之后还是报这样的错误;

#ifndef __UART__H__
#define __UART__H__

这时就去搜这个函数的实现,发现这个函数的实现是在头文件里,并没有函数的声明,直接在头文件里定义的这个函数;在头文件里做函数声明,在源文件里实现函数的定义;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值