Symbol aDST_Buffer multiply defined (by bsp_dma_mtm.o and main.o) 问题解决


情况说明

在学习STM32的DMA时, 编译链接时出现了两个错误

Symbol aDST_Buffer multiply defined (by bsp_dma_mtm.o and main.o)
Symbol aSRC_Const_Buffer multiply defined (by bsp_dma_mtm.o and main.o)


原因分析

原因是我把两个数组放在了<.h>定义, 多个文件包含此<.h>则造成了重复定义(multiply defined)

<.h>中只能声明, 不能定义
需要在<.c>中定义, 在<.h>中声明


解决方法

  1. 在<.c>文件中定义
  1. 在<.h>文件中用extern声明
  1. 编译成功

SHOUT OUT TO

错误问题:Symbol xxx multiply defined
extern使用方法总结!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM