IM尝试使用其IDE为我的Ardrino编译一些代码,并且链接阶段导致错误。我不太了解链接阶段的工作方式。但是我已经在头文件中声明了我不喜欢的函数,并且这些函数是在源文件中定义的。
我只想知道是什么原因导致此类错误,以及我可以寻求什么来解决它。
如果我注释掉对函数PABDerivedTest::printTestValue()
的所有引用,则代码可以正常编译
但这只是测试
除此之外,我不知道还能尝试什么
以下是错误代码的示例
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o "C:\\Users\\benca\\AppData\\Local\\Temp\\arduino_build_49890/PolyAsycTest.ino.elf" "C:\\Users\\benca\\AppData\\Local\\Temp\\arduino_build_49890\\sketch\\PolyAsycTest.ino.cpp.o"
...
"C:\\Users\\benca\\AppData\\Local\\Temp\\arduino_build_49890\\libraries\\ArduinoSTL\\vector.cpp.o" "C:\\Users\\benca\\AppData\\Local\\Temp\\arduino_build_49890/..\\arduino_cache_513584\\core\\core_arduino_avr_uno_0c812875ac70eb4a9b385d8fb077f54c.a" "-LC:\\Users\\benca\\AppData\\Local\\Temp\\arduino_build_49890" -lm
C:\Users\benca\AppData\Local\Temp\ccKtblBO.ltrans0.ltrans.o: In function `setup':
C:\Users\benca\Documents\Arduino\LEDClock\New 2019 Clock\Tests\PolyAsycTest/PolyAsycTest.ino:19: undefined reference to `PABDerivedTest::printTestValue()'
collect2.exe: error: ld returned 1 exit status
Using library ArduinoSTL at version 1.1.0 in folder: C:\Users\benca\Documents\Arduino\libraries\ArduinoSTL
exit status 1```