c:/users/komp/appdata/local/arduino15/packages/stmicroelectronics/tools/xpack-arm-none-eabi-gcc/12.2.1-1.2/bin/…/lib/gcc/arm-none-eabi/12.2.1/…/…/…/…/arm-none-eabi/bin/ld.exe: core\core.a(startup_stm32yyxx.S.o): in function LoopFillZerobss': (.text.Reset_Handler+0x2e): undefined reference to main’
collect2.exe: error: ld returned 1 exit status
exit status 1
Ошибка компиляции для платы Generic STM32F1 series.
Сначала запустил бы компиляцию вашего скетча, из IDE
Из окна компиляции достал бы строчку, которая относится непосредственно к компиляции вашего скетча (ближе к концу портянки, поищите строчку с именем вашего скетча)
Открыл окно терминала
Вставил скопированную строчку, добавив в начало (там где опции начинаются, сразу после …g++ ) -dM -E. Добавил бы в конец строчки “> defines.txt”
Ну, да, я в соседней теме уж неделю жду. Разбирался в чужой библиотеке, примеры писал, а существо “схавало” и ну гу-гу. Думаю, помогло, иначе, проявился бы
Спасибо огромное.
Получил список всех #define, как и хотел.
Командную строку нашел в окне компиляции, когда указал нужную опцию в настройках. Внёс в неё изменения, сохранил в файл def.cmd.
IDE при выходе, удаляет свои папки из TEMP, пришлось их заранее сохранить отдельно, а после закрытия IDE вернуть их на место.
Запустил свой def.cmd, и получил файл со списком #define.
Я только не понимаю, почему для этого нет простой опции в интерфейсе IDE, зачем “с бубном танцевать”…
Судя по сообщениям на разных форумах, народ частенько изучает эти списки.
Я убедился, что в полном списке нет моих #define. Получил подтверждение, что компилятор где-то свернул на другую ветку кода, и объявил другие #define.
Имея полный список, есть вероятность найти, где был сделан выбор, не в пользу моей ветки кода, и возможно даже исправить ситуацию.
Любая продвинутая IDE, типа Visual Code или даже Ардуино ИДЕ 2.х - подсвечивает прямо в исходнике, какие ветки условной компиляции будут выбраны, а какие нет.
Судя по тому, что компилятор куда-то “свернул” - вы пытаетесь добавить свои дефайны в чужой код. Обычно это не самая лучшая идея.
Может расскажете, что у вас за проблема на самом деле, вместо того чтобы просить советов по методу решения, который скорее всего выбран не правильно?