[我正在尝试将Raspberry Pi上的Arduino使用https://github.com/sudar/Arduino-Makefile和一些用户cpp库,但无法编译并在下面显示错误。
/ usr / share / arduino / hardware / tools / avr / bin / avr-gcc -mmcu = atmega2560-Wl,-gc-sections -Os -flto -fuse-linker-plugin -o build-mega-atmega2560 / toprint.elf build-mega-atmega2560 / toprint.ino.obuild-mega-atmega2560 / libcore.a -lc -lm/tmp/cc1J77Gh.ltrans0.ltrans.o:在函数
main': <artificial>:(.text.startup+0x4be): undefined reference to
Str2let :: ~~ Str2let()'collect2:错误:ld返回1退出状态make:*** [/home/pi/Desktop/demo1_may9/Arduino/toprint/Arduino-Makefile/Arduino.mk:1673:build-mega-atmega2560 / toprint.elf]错误1
我的配置文件为
ARDUINO_DIR = /usr/share/arduino
MONITOR_PORT = /dev/ttyACM*
USER_LIB_PATH = /home/pi/sketchbook/libraries
#BOARD_SUB = mega2560 #replaced by below
MCU = atmega2560
# Define Atmega2560
BOARD_TAG = mega
BOARD_SUB = atmega2560
AVRDUDE = /usr/share/arduino/hardware/tools/avr
包括/home/pi/Desktop/demo1_may9/Arduino/toprint/Arduino-Makefile/Arduino.mk有人知道发生了什么吗?
相同的代码可以在Mac上运行,但不能在Pi上运行。
通过使用case[2]
中的post解决了。只是不要定义USER_LIB_PATH
并将所有文件与.ino和Makefile放在同一位置。