Soucis de compilation

Bonjour,

je viens vers vous aujourd’hui car j’ai un soucis lors de la compilation de mon code arduino, je vous met le code

#include <Wire.h>
#include <Keypad.h>
#include <LiquidCrystal_I2C.h> // librairie pour écran 4fils

LiquidCrystal_I2C lcd(0x27, 16, 2);

const byte LINES = 4;
const byte COLUMNS = 4;

const int L1=2;
const int L2=3;
const int L3=4;
const int L4=5;
const int C1=6;
const int C2=7;
const int C3=8;
const int C4=9;

char Keys[LINES][COLUMNS] = {

{‘1’,‘2’,‘3’,‘A’},
{‘4’,‘5’,‘6’,‘B’},
{‘7’,‘8’,‘9’,‘C’},
{’*’,‘0’,’#’,‘D’}

};

byte PinsLines[LINES] = {L1, L2, L3, L4};
byte PinsColumns[COLUMNS] = {C1, C2, C3, C4};

char Display;

char Password = {1,2,3,4};
int PasswordPos = 0;
String StringPassword;

char PassWord[4];
int PassWordPos = 0;
String StringPassWord;

int Check;
boolean BackLight;

Keypad Keymap = Keypad( makeKeymap(Keys), PinsLines, PinsColumns, LINES, COLUMNS );

void setup() {

Serial.begin(9600);

lcd.init();
lcd.backlight();

Init();

pinMode(10, INPUT);
digitalWrite(10, LOW);
}

void loop() {

Display = Keymap.getKey();

switch (Display){
case (NO_KEY):

break;
case (‘A’):
if (BackLight == 1){
lcd.noBacklight();
BackLight = 0;
}
else{
lcd.backlight();
BackLight = 1;
}
break;
case (‘B’):
pinMode(10, OUTPUT);
break;
case (‘C’):

break;
case (‘D’):

break;
case (’*’):

break;
case (’#’):
StringPassword = String(String(int(Password[0]))+ String(int(Password[1]))+String(int(Password[2]))+String(int(Password[3])));
StringPassWord = String(String(PassWord[0])+ String(PassWord[1])+String(PassWord[2])+String(PassWord[3]));

if (StringPassWord == StringPassword){

Init();
lcd.setCursor(4,1);
lcd.print(“Correct”);

for (Check = 0; Check<5 ; Check ++){

lcd.noBacklight();
delay(500);
lcd.backlight();
delay(500);
}

Clear();
}
else{

Init();
lcd.setCursor(3,1);
lcd.print(“Incorrect”);
Clear();
}
break;
default:

if(PassWordPos == 0){

lcd.setCursor(6,1);
lcd.print("");
PassWord[PassWordPos] = Display;
PassWordPos = PassWordPos +1;
}
else{
if (PassWordPos <= 3){
lcd.print("
");
PassWord[PassWordPos] = Display;
PassWordPos = PassWordPos +1;
}
else if(PassWordPos > 3){

Init();
lcd.setCursor(3,1);
lcd.print(“Trop Long”);
Clear();
}
}

}
}

void Clear(){

PassWordPos = 0;
delay(3000);
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(6,1);
}
void Init(){

lcd.clear();
lcd.setCursor(2, 0);
lcd.print(“Mot De Passe”);
}

ainsi que le message d’erreur.

Arduino : 1.8.9 (Windows Store 1.8.21.0) (Windows 10), Carte : “Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)”

C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino\WString.cpp: In member function ‘__base_ctor .constprop’:

C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino\WString.cpp:82: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.21.0_x86__mdqgnx93n4wtt\hardware\tools\avr/bin/avr-gcc returned 1 exit status

compilation terminated.

c:/program files/windowsapps/arduinollc.arduinoide_1.8.21.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

exit status 1
Erreur de compilation pour la carte Arduino/Genuino Mega or Mega 2560

Ce rapport pourrait être plus détaillé avec
l’option “Afficher les résultats détaillés de la compilation”
activée dans Fichier → Préférences.

Si quelqu’un comprend ce qu’il se passe et sait m’aider ça serais très gentil. :slight_smile:

Bonjour Ka0xBE

? ? ? ? ? ? ? ? ? ? ? SGDG....

Cordialement,
bidouilleelec

Votre message d'erreur est éloquent (peut être le serait il davantage si vous activiez, comme il le demande, l'option "Afficher les résultats détaillés de la compilation" dans le menu de préférences...)
g++8-2 serait incapable de compiler WString.cpp, fonction livrée avec arduino.
La question que je me pose est :
est ce qu"une ancienne (disons, la 1.8.8 ) version d'arduino, qui a un compilateur plus ancien, a le même défaut? (je n'ai pas accès à Arduino en semaine, mais je sais que les dernières versions de compilateur peuvent avoir des défauts de jeunesse)

ok ce serai donc la version de l'ide se trouvant sur le windows store qui serai en cause apparement --'

en tout cas merci de votre aide j'ai télécharger l'installer direct sur le site d'arduino et je n'ai plus l'erreur