Problemi di compilazione

Ciao a tutti, ho appena finito di scrivere un programma abbastanza lungo e, come sempre, siccome non sono un gran programmatore, mi sono dovuto correggere la marea di errori fatti compilando e ricompilando. Tuttavia nonostante non ci sia più nemmeno un errore fatto da me, mi compaiono questi messaggi:

In file included from C:\Users\Jacopo\Desktop\arduino-0022\hardware\arduino\cores\arduino/WCharacter.h:23,
from C:\Users\Jacopo\Desktop\arduino-0022\hardware\arduino\cores\arduino/WProgram.h:13,
from codice_Dedalo150.cpp:10:
c:/users/jacopo/desktop/arduino-0022/hardware/tools/avr/lib/gcc/../../avr/include/ctype.h:106: error: expected unqualified-id before 'int'
c:/users/jacopo/desktop/arduino-0022/hardware/tools/avr/lib/gcc/../../avr/include/ctype.h:106: error: expected `)' before 'int'

.....ho provato ad aprire i file in questione ma sinceramente non capisco cosa c'è che non va.
Qualcuno ha avuto il mio stesso problema?

Grazie,
Jacopo

hai gia' provato a riscaricare l'ide ?

Ciao a tutti, ho appena finito di scrivere un programma abbastanza lungo

Se non è lungo come la divina commedia prova a postarlo qui

Sí, gli errori senza il codice spesso non sono utili. Spediscici il Tuo codice.
Ciao Uwe

Non avevo postato il codice perchè leggendo il log degli errori ho pensato che forse il problema fosse nei codici presenti nelle varie cartelle dell'ide. Ho provato ad incollare il programma incriminato ma mi dice che è troppo lungo (sopra i 9500 caratteri :fearful:), perciò vi dò il link ad un pezzo di questo che ho preso dal sito Ladyada e che mi dà lo stesso problema anche se lo compilo separatamente. Lo trovate qui: http://www.ladyada.net/make/gpsshield/GPS_CSVSensorLogger.pde
Il codice scritto da me ha in più il necessario per utilizzare un modem GSM e vari sensori / attuatori / relè, ma queste parti di codice mi funzionano bene se le compilo separatamente!! Vedete un pò se secondo voi c'è qualcosa di sbagliato....grazie! :slight_smile:

Dimenticavo: si, ho riscaricato l'ide ma non è cambiato nulla!

il link che hai passato a me da solo errore che manca la parte .h:

fatal error: AF_SDLog.h: No such file or directory
compilation terminated.

Ciao zeroG

Ho provato di compilare e mi da gli stessi Tuoi errori.

Percui non é un problema della Tua installazione.

Leggi un po:
http://forums.adafruit.com/viewtopic.php?f=31&t=17778
http://forums.adafruit.com/viewtopic.php?f=31&t=17939

Ciao Uwe

allora, grazie UWE per avermi linkato la libreria che mi mancava, ho dovuto rinominare il file sd-reader_config.h in sd_reader_config.h (e ovviamente anche i vari include) se no arduino si rifiutava di compilare (ho deciso di mettere tutti i file nella cartella dello skecth e per qualche arcano motivo arduino non vedeva il file, non credo sia necessario se mettete la libreria nella cartella librarie, come pare abbiate fatto.).

confermo l'errore, che può essere risolto semplicemente commentando la riga:

#define isdigit(x) ( x >= '0' && x <= '9')

però piuttosto che commentarla, la rinominerei da "isdigit" a qualche altro nome, e ovviamente anche in tutto lo sketch. Probabilmente (anzi sicuramente) una delle librerie incluse utilizza una define con lo stesso nome ma diverso funzionamento, e crea un conflitto, probabilmente la "nostra" define si infila all'interno della define delle librerie incriminate (WCharacter e WProgram) creando un bel macello (ahahah e sono l'unico che ha quanto pare ha individuato & corretto il problema, ora mi esalto un poco e poi vado a dormire).

ps. da quanto ho capito l'unico vantaggio di usare questa libreria è che sta su un atmega168, altrimenti ti conviene usare la libreria più aggiornata presente sempre nello stesso sito:
http://www.ladyada.net/make/gpsshield/download.html

Perfetto! Adesso compila....non riuscivo a capire dove fosse il problema! Fino ad ora avevo sempre scritto e usato sketch semplici, che comprendevo completamente.....mentre questo qui va oltre le mie conoscenze risicate, mi tocca fare ancora un bel pò di strada! :sweat_smile:

Il problema é che in 2 programmi inclusi (tra tutte le incluse nei vari programmi ci sono tanti programmi che automaticamente vengono inclusi) viene definito la variabile "isdigit" percui va in conflitto.

È una volta nel programma:
sd-reader_config.h
e la seconda volta nel:
ctype.h

Ciao Uwe