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: