Erro WProgram.h não encontrado no Arduino 1.0

Bom pessoal, hoje venho postar sobre uma coisa que aconteceu comigo depois que atualizei a IDE de desenvolvimento do Arduino para a Versão 1.0. O fato é que tentei recompilar um dos códigos na nova versão e o que aconteceu foi que começou a dar um erro de não encontrar a biblioteca "WProgram.h", como na imagem a baixo:
Como não tinha a menor idéia do que estava acontecendo tentei o mais óbvio: baixar as bibliotecas na versão mais atual, mas não adiantou, pois não tinha nenhuma modificação entre a versão que eu estava usando e a versão para download, então fui para o Google!
Encontrei esse link que fala sobre o problema, o que acontece é que o Arduino mudou as bibliotecas ao que parece, então o jeito e dar alterada na bilioteca, para isso, usando o Notepad++, abra o arquivo com a extensão .cpp que está dentro da pasta da biblioteca que você está utilizando, nesse caso estou utilizando a biblioteca RTC, então o caminho é: C:\arduino-1.0\libraries\RTClib\RTClib.cpp
Com o arquivo aberto no Notepad++ é possivel ver na sétima linha que ele "chama" essa biblioteca, veja a seguir:
 Exatamente na linha 7 e coluna 22 (onde termina com o '>') como na mensagem de erro do Arduino diz (aquele ":7:22" antes do "error"), então, o que fazer agora??
Simples, você deve alterar o código removendo aquele include e colocando um laço condicional:
#if defined(ARDUINO) && ARDUINO >= 100
 #include "Arduino.h"
 #else
 #include "WProgram.h"
 #endif
Esse laço condicional diz ao programa para usar a biblioteca "Arduino.h" (que fica na pasta "C:\arduino-1.0\hardware\arduino\cores\arduino") se a versão do arquivo for maior que 100 (a nossa versão 1.00) senão ele utiliza a biblioteca antiga. 
E assim ficaria o nosso código alterado:
Depois disso é só salvar o arquivo e mandar compilar o código novamente, e o resultado será:
Pronto! Problema resolvido e código funcionando novamente.
Abraço a todos e até a próxima.

Fonte:

4 comentários:

Newton Maciel Junior disse...

Salvou a pele hein... valeu!

fsimiao disse...

Muito obrigado.
Resolveu aqui.

Cleber Zermiani disse...

Boa tarde
Eu fiz a alteração e não da mais o erro o peoblema agora é que o codigo não compila ele trava e a barra de status da ide fica em uns 25% e para.
Sera que podia me ajudar estou usando a biblioteca cmd.h.
Obrigado

Natanael da Silva Fim disse...

Olá, desconheço essa biblioteca e nunca mais utilizei bibliotecas que precisassem dessa alteração (todas foram sendo atualizadas com o tempo)então, infelizmente, não tenho como ajudar nesse caso. Abraço.