Pages: [1]   Go Down
Author Topic: Errore compilazione sketch  (Read 849 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Sr. Member
****
Karma: 0
Posts: 294
L'uomo non smette di giocare perché invecchia, ma invecchia perché smette di giocare. (George Bernard Shaw)
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buonasera e buon anno a tutti!! smiley-grin

Ho un piccolo problema che mi sta irritando!! Allora, su questo sito c'è uno sketch che mi interessa, ho provato a compilarlo con l'ide 1.0.3 ma non va, mi da questo errore:
Code:
In file included from sketch_jan03a.ino:1:
C:\Users\Utente\Desktop\Arduino 1.0.3\libraries\TimedAction/TimedAction.h:33:22: error: WProgram.h: No such file or directory
Ho installato(?) la libreria TimedAction. Come posso risolvere?
Grazie!
Logged


Offline Offline
Sr. Member
****
Karma: 8
Posts: 293
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buonasera e buon anno a tutti!! smiley-grin

Ho un piccolo problema che mi sta irritando!! Allora, su questo sito c'è uno sketch che mi interessa, ho provato a compilarlo con l'ide 1.0.3 ma non va, mi da questo errore:
Code:
In file included from sketch_jan03a.ino:1:
C:\Users\Utente\Desktop\Arduino 1.0.3\libraries\TimedAction/TimedAction.h:33:22: error: WProgram.h: No such file or directory
Ho installato(?) la libreria TimedAction. Come posso risolvere?
Grazie!

be è chiaro che non ti vede la libreria.. nel desktop\arduino\libreries\timedaction hai o non hai il file .h? ...e ancora prima in arduino\libraries trovi la directory timedaction? ... tante volte è da rinominare correttamente... e poi sei uscito da tutti gli sketch e rilanciato arduino.exe?
Logged

Offline Offline
Sr. Member
****
Karma: 0
Posts: 294
L'uomo non smette di giocare perché invecchia, ma invecchia perché smette di giocare. (George Bernard Shaw)
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

nel desktop\arduino\libreries\timedaction hai o non hai il file .h? ...e ancora prima in arduino\libraries trovi la directory timedaction? ... tante volte è da rinominare correttamente... e poi sei uscito da tutti gli sketch e rilanciato arduino.exe?

Si, la cartella TimedAction è presente e c'è anche il file .h, allego screen... Ho chiuso tutto... Non va...  smiley-sad-blue


* Immagine.png (4.93 KB, 294x147 - viewed 16 times.)
Logged


Offline Offline
Sr. Member
****
Karma: 8
Posts: 293
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

nel desktop\arduino\libreries\timedaction hai o non hai il file .h? ...e ancora prima in arduino\libraries trovi la directory timedaction? ... tante volte è da rinominare correttamente... e poi sei uscito da tutti gli sketch e rilanciato arduino.exe?

Si, la cartella TimedAction è presente e c'è anche il file .h, allego screen... Ho chiuso tutto... Non va...  smiley-sad-blue

si scusami stavo dormendo: il compilatore cerca wprogram.h... poi cercando sul playground arduino.cc sessione gestione librerie ho trovato questo commento in testa ad un programma
Code:
#include <WProgram.h> //It is very important to remember this! note that if you are using Arduino 1.0 IDE, change "WProgram.h" to "Arduino.h"

prova allora ad aprire la timeraction.h e .cpp e sostituisci le occorrenze poi vediamo se funziona
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 333
Posts: 22938
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Il file WProgram.h era incluso nelle librerie scritte per le vecchie versioni 002x dell'IDE. Dalla 1.0 in poi il file header principale del core di Arduino è Arduino.h.
Talvolta basta modificare come nell'esempio citato per rendere una lib compatibile con la nuova versione. Ma non sempre basta: la 1.0 introduce anche alcune modifiche a delle funzioni base rispetto a come era col vecchio core per cui non sempre basta modificare WProgram.h in Arduino.h per far andare tutto.
Logged


Cagliari, Italy
Online Online
Tesla Member
***
Karma: 114
Posts: 7183
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Per risolvere il problema e compilare correttamente anche con le versioni precedenti dell'IDE, sostituisci
change
Code:
#include "WProgram.h"

con

Code:
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif

Oppure invece di usare la TimedAction una la LeOS --> http://www.leonardomiliani.com/?p=516
« Last Edit: January 03, 2013, 05:39:17 pm by PaoloP » Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Offline Offline
Sr. Member
****
Karma: 0
Posts: 294
L'uomo non smette di giocare perché invecchia, ma invecchia perché smette di giocare. (George Bernard Shaw)
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ragazzi, tutto ok!! Ho modificato il file .h e al posto di "WProgram.h" ho messo "Arduino.h"!! smiley-grin Grazie!! smiley-wink Ora però ho un altro problema!! hahaha Aprirò un nuovo topic! smiley-wink
Logged


Pages: [1]   Go Up
Jump to: