Странная ошибка компилятора (ошибка сегментации)

Вы получаете ошибку компилятора. Это происходит в странных частях кода, которые на самом деле не должны вызывать проблем. Ошибка выглядит примерно так:

C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.15.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino\HardwareSerial.cpp:203:1: internal compiler error: Segmentation fault

}

^

Please submit a full bug report,

with preprocessed source if appropriate.

See http://gcc.gnu.org/bugs.html for instructions.

lto-wrapper.exe: fatal error: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.15.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-gcc returned 1 exit status

compilation terminated.

c:/program files/windowsapps/arduinollc.arduinoide_1.8.15.0_x86__mdqgnx93n4wtt/hardware/tools/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/bin/ld.exe: error: lto-wrapper failed

collect2.exe: error: ld returned 1 exit status

Что это такое и как это исправить?

, 👍0

Обсуждение

Перезапуск Arduino IDE может помочь., @user_fs10


4 ответа


3

Это известная ошибка компилятора в Windows. Раздражает то, что эта версия компилятора включена в версию Arduino IDE для Windows Store.

Он также пробрался в версию IDE для Windows версии 1.8.6 с веб-сайта Arduino.cc вместе с интегрированной версией ядра Arduino AVR.

Существует множество проблем Github, открытых для этой проблемы, и навигация по запутанной сети из них немного утомительна, но эта кажется наиболее многообещающей для поиска основной причины:

  • AVR core 1.6.22 (IDE 1.8.6) аварийно завершает работу компилятора avr-gcc (5.4.0), когда F () строка присваивается статической переменной

Самое простое решение — понизить версию вашего компилятора до версии 4.9.2. Это можно сделать, используя диспетчер плат для установки версии 1.6.21 плат Arduino AVR. Это должно дать вам версию компилятора 4.9.2-atmel3.5.4-arduino2, которая не страдает от этой проблемы.

,

Это центральный отчет об этой проблеме: https://github.com/arduino/Arduino/issues/7949, @per1234

и НЕ нажимайте кнопку «Обновить» до нажатия «Закрыть» !!, @Stoica Mircea

Работает как шарм, спасибо. Если бы это была проблема с Arduino/Genuino Micro с библиотекой IRremote., @Codebeat


2

В последнее время такая ошибка возникает время от времени без видимой причины. Что устранило это для меня, так это войти в настройки IDE и изменить вывод компилятора на подробный, а также показать все предупреждения. Что??? Я знаю, что это безумие. Я просто пытался получить больше информации об ошибке, но с тех пор я ее не получил. А раньше я его много получал.

,

Работал и для меня. Спасибо, @Jak


0

Иногда мне кажется, что мне нужно перезагрузить компьютер, так как выход из Arduino и повторный запуск не всегда позволяют мне снова скомпилировать.

"изменение вывода компилятора на подробный, а также отображение всех предупреждений"

Это сработало и для меня.

,

0

Я снова вернул настройки в состояние по умолчанию после перезапуска и компиляции. Это сработало. Не знаете, что под этим?

,