collect2.exe: error: ld returned 5 exit status ,ci risiamo..

Ciao,purtroppo mi capita nuovamente quest’ errore in fase di compilazione di un codice,la cosa strana o non è questa :

[1]
sul pc portatile con sistema operativo windows 8.1,IDE 1.6.7,nessun problema di compilazione

[2]
sul Fisso con sistema operativo windows xp Sp3,IDE 1.6.7,non riesco a compilarlo e mi compare il solito errore [ collect2.exe: error: ld returned 5 exit status ]

Facendo come al solito qualche prova, sono arrivato a questo risultato,allegando il pezzo del codice che crea quest’errore :

void entra () { 

  pinAct1 = digitalRead(Incrementa_W) ;                   
  if ((!pinOld1 && pinAct1 ) && (TotaliWarning < 9 ) && ( countdown12 == 0 ) && ( Stop_Ing == 0 )) {
    rx_incrementa = 1;
    Stop_Ing = 1;
    initialmillis12 = millis();  
    countdown12 = 0;
    timer12 = 0;
  } 
  pinOld1 = pinAct1 ;

  if ((( pinAct1 == 1 ) && ( TotaliWarning < 9 ) && ( Stop_Ing == 1 )) || ( countdown12 > 0 )) {
   timer12=(millis()-initialmillis12)/100;
   countdown12 = setting12 - timer12;

   if ( countdown12 == 0) {
    Stop_Ing = 0;
    rx_incrementa = 0; 
    initialmillis12 = millis();  
    timer12 = 0;
    countdown12 = 0;
  }
}
}

levando dalla riga :

if ((( pinAct1 == 1 ) && ( TotaliWarning < 9 ) && ( Stop_Ing == 1 )) || ( countdown12 > 0 ))

il parametro || ( countdown12 > 0 ),la compilazione con il sistema xp sp3 viene eseguita correttamente.
Qualcuno,mi riesce a dire se magari è un problema di codice solo con il win xp e non per win 8.1 ??

Grazie,Mauro

Mi pare su xp basta cancellare quel collect2.exe, il difficile è trovare la cartella giusta.

ld.exe della nuova toolchain richiama per qualche motivo quel exe (che pare non serva a un tubo) e solo su xp da errore.

In precedenza,quando avevo riscontrato questi problemi solo su xp avevo provato a cancellarla dalla directory: C:\Program Files (x86)\Arduino\hardware\tools\avr\libexec\gcc\avr\4.8.1 ,ma non avevo mai risolto niente. Perchè dici " ll difficile è trovare la cartella giusta " ??

Grazie

Perchè dipende da dove installi. Mai lasciare ai programmi di decidere dove installare. Comunque, scusa ma un xp da quando ha la cartella "Program Files (x86)" ? Quella è di Win7 !! Da me ad esempio è in: E:\Elettronica\Arduino\arduino-1.6.x\hardware\tools\avr\libexec\gcc\avr\4.8.1

Si scusa,ti ho allegato il percorso del portatile [ Win 8.1 ], comunque sul fisso è ...\hardware\tools\avr\libexec\gcc\avr\4.8.1. L' ho eliminata ,ma il risultato non cambia.

Cercato in tutto il computer ? Perchè se elimini un collect2.exe e poi in qualche modo quando compila dice che collect2.exe da errore... mi pare strano. Al limite dovrebbe dire file non trovato.

dal sito principale link

I just had the same error.
I tried v1.6.1, 1.6.5 and 1.6.7.All showing the error at some point.
This worked for me.

Find ld.exe, for me it was in “C:\Program Files\Arduino\hardware\tools\avr\avr\bin”

Rename it to ld.exe.old.

The compiler will switch to using avr-ld.exe when it cant find ld.exe.

I had this problem these days and the solution was to replace the ld.exe version 1.0.6
Simple like that.

had similar error:
ld returned 1 exit status
exit status 1
Error compiling.

Auto format have resolved the problem in my case.

in poche parole copia il programma "ld.exe" di Arduino IDE 1.0 in quello corrente 1.6.7

Grazie a tutti,risolto il problema copiando su win xp sp3,ld.exe della verisone ide 1.0.