[英]Multiple Defintion Error when using external Library C++
我一直在撞牆想知道為什么我的 c++ 項目沒有編譯外部庫 SAMDTimerInterrupt.h
我收到以下錯誤:
C:Documents\vsCode builds\GVS_Stimulator_V1.8\sketch\Stimulator.cpp.o: In function `TC3_Handler':
C:\Documents\Arduino\libraries\SAMD_TimerInterrupt\src/SAMDTimerInterrupt.h:410: multiple definition of `TC3_Handler'
C:\Documents\vsCode builds\GVS_Stimulator_V1.8\sketch\GVS_Simulator_V.1.8.ino.cpp.o:C:\Documents\Arduino\libraries\SAMD_TimerInterrupt\src/SAMDTimerInterrupt.h:410: first defined here
C:\Documents\vsCode builds\GVS_Stimulator_V1.8\sketch\Stimulator.cpp.o: In function `TCC0_Handler':
C:\Documents\Arduino\libraries\SAMD_TimerInterrupt\src/SAMDTimerInterrupt.h:423: multiple definition of `TCC0_Handler'
C:\Documents\vsCode builds\GVS_Stimulator_V1.8\sketch\GVS_Simulator_V.1.8.ino.cpp.o:C:\Documents\Arduino\libraries\SAMD_TimerInterrupt\src/SAMDTimerInterrupt.h:423: first defined here
C:\Documents\vsCode builds\GVS_Stimulator_V1.8\sketch\Stimulator.cpp.o:C:\Documents\Arduino\libraries\SAMD_TimerInterrupt\src/SAMDTimerInterrupt.h:399: multiple definition of `TCC_callback'
C:\Documents\vsCode builds\GVS_Stimulator_V1.8\sketch\GVS_Simulator_V.1.8.ino.cpp.o:C:\Documents\Arduino\libraries\SAMD_TimerInterrupt\src/SAMDTimerInterrupt.h:399: first defined here
C:\Documents\vsCode builds\GVS_Stimulator_V1.8\sketch\Stimulator.cpp.o:C:\Documents\Arduino\libraries\SAMD_TimerInterrupt\src/SAMDTimerInterrupt.h:398: multiple definition of `TC3_callback'
C:\Documents\vsCode builds\GVS_Stimulator_V1.8\sketch\GVS_Simulator_V.1.8.ino.cpp.o:C:\Documents\Arduino\libraries\SAMD_TimerInterrupt\src/SAMDTimerInterrupt.h:398: first defined here
我注意到該庫在 header 文件中有定義和聲明。 這是問題的根源嗎? 當我只使用一個 main.cpp 文件時,它會編譯。 (注意我只使用 Stimulator.cpp 中的庫)
提前致謝, 威爾
我已與庫的創建者交談並決定將 single.h 文件拆分為 ah 和 .cpp,以便聲明和定義是分開的。 希望他能盡快更新 Github 上的 SRC_CPP 文件夾以包含此內容
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.