簡體   English   中英

使用外部庫 C++ 時出現多重定義錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM