Я пытаюсь выполнить кросс-компиляцию программы для AVR, используя avr-g cc, которую я установил через macports. В терминале:
avr-gcc -O1 -DF_CPU=1000000UL -DBAUD=9600 -I. -I/opt/local/avr/include/ -Wl,-Map,main.map -mmcu=atmega328p main.c -c
, что приводит к ошибкам:
clang: error: unknown argument: '-mgcc-isr'
clang: error: unknown argument: '-mno-skip-bug'
Приведенный выше кросс-компиляция использовалась, но после обновления до Catalina и переустановки avr-g cc что-то запутался. При поиске в Google я обнаружил, что в более новых версиях Clang, если Clang не распознает аргумент командной строки, возникает ошибка. В предложениях сказано использовать что-то вроде -Wno-error = g cc -isr. Таким образом, моя команда становится:
avr-gcc -O1 -Wno-error=gcc-isr -DF_CPU=1000000UL -DBAUD=9600 -I. -I/opt/local/avr/include/ -Wl,-Map,main.map -mmcu=atmega328p main.c -c
, что приводит к:
cc1: error: ‘-Werror=gcc-isr’: no option -Wgcc-isr
Похоже, что-то запуталось между Clang и avr-g cc. Хотя я не уверен, почему Clang вызывают, когда я использую avr-g cc. Кто-нибудь знает, что здесь происходит?