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