Go Down

Topic: Soucis de compilation  (Read 98 times) previous topic - next topic

Ka0sBE

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

Quote
#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.

Quote
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. :)

bidouilleelec

#1
Apr 08, 2019, 05:02 pm Last Edit: Apr 08, 2019, 05:09 pm by bidouilleelec

dbrion06

#2
Apr 08, 2019, 05:05 pm Last Edit: Apr 08, 2019, 05:06 pm by dbrion06
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)

Ka0sBE

#3
Apr 08, 2019, 05:21 pm Last Edit: Apr 08, 2019, 05:24 pm by Ka0sBE
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

Go Up