Arduino-Makefile: компилятор не может скомпилировать файлы пользовательской библиотеки cpp - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь использовать https://github.com/sudar/Arduino-Makefile для Arduino на Raspberry Pi с некоторыми пользовательскими cpp библиотеками, но он не может скомпилировать и показать ошибку ниже.

/ usr / share / arduino / hardware / tools / avr / bin / avr-g cc -mmcu = atmega2560 -Wl, - g c -sections -Os -flto -fuse-linker-plugin -o build-mega -atmega2560 / toprint.elf build-mega-atmega2560 / toprint.ino.o build-mega-atmega2560 / libcore.a -l c -lm /tmp/cc1J77Gh.ltrans0.ltrans.o: В функции main': <artificial>:(.text.startup+0x4be): undefined reference to Str2let :: ~ Str2let () 'collect2: error: 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

include / home / pi / Desktop / demo1_may9 / Arduino / toprint / Arduino-Makefile / Arduino. mk Кто-нибудь знает, что случилось?

Тот же код может работать на Ma c, но только не на Pi.

1 Ответ

0 голосов
/ 29 мая 2020

решил это, используя case[2] в этом сообщении . Только не определяйте USER_LIB_PATH и не помещайте все файлы в то же место, что и .ino и Makefile.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...