HOWTO · Arduino

Correggere lo stato di uscita 1 di Arduino leggendo l’errore reale

Lo stato di uscita 1 è un risultato generico: leggi il diagnostico precedente e separa gli errori di compilazione da quelli di caricamento.

exit status 1 è il risultato generico di un errore, non la diagnosi. Leggi la prima riga sopra con file e numero di riga. Se la compilazione riesce e fallisce solo il caricamento, controlla scheda, porta e bootloader invece di cambiare codice funzionante.

Individua l’errore reale

Compilation error: exit status 1 e ld returned 1 exit status chiudono il report. Il messaggio utile è prima: ad esempio expected ';', was not declared in this scope oppure No such file or directory. Quando chiedi aiuto, copia l’intero output. La guida di compilazione Arduino spiega questi messaggi.

Verifica con uno sketch minimo

Questo sketch esatto è stato compilato con Arduino CLI 1.5.1, Arduino AVR Boards 1.8.8 e arduino:avr:uno:

void setup() {}

void loop() {}

Per una Uno esegui arduino-cli compile --fqbn arduino:avr:uno <cartella-sketch>; sostituisci il FQBN per un’altra scheda. Se fallisce anche questo, seleziona la scheda corretta e installa la sua piattaforma dal gestore schede prima di investigare il progetto.

Correggi il messaggio segnalato

Questo sketch testato fallisce perché manca il punto e virgola dopo Serial.begin(9600):

void setup() {
  Serial.begin(9600)
}

void loop() {}

Il risultato osservato è error: expected ';' before '}' token, seguito da Error during build: exit status 1. Aggiungi il punto e virgola, quindi ricompila. Controlla anche parentesi graffe, nomi degli identificatori e ambito delle variabili: la riga segnalata può essere subito dopo il vero errore.

Per fatal error: SomeLibrary.h: No such file or directory, verifica il nome dell’header e installa la libreria corretta e compatibile da Sketch > Include Library > Manage Libraries. Copiare un singolo .h vicino allo sketch non installa dipendenze né garantisce compatibilità.

Separa i problemi di caricamento

Se Verifica riesce ma il caricamento termina con status 1, non è un errore di sintassi. Conferma scheda e porta, chiudi i monitor seriali che usano quella porta, ricollega la scheda e controlla le opzioni di processore o bootloader. Vedi la guida di caricamento Arduino. Un test di compilazione non può provare un upload senza una scheda fisica e una porta seriale.