赤外線リモコンとArduinoを連動したスケッチ(プログラム)を作成しているのですが、なぜかエラーが出る。
さらに
IRremoteライブラリーに添付してあったExamples(例)にまでエラーが出る始末。
もうどうしようもない・・・
私の現在の開発環境は
Windows7
Arduino IDEは1.0.5(今日時点で最新)
IRremoteライブラリーは
https://github.com/shirriff/Arduino-IRremoteから取得、今現在の最新です。
ふと、Linuxディストリビューションの一つである
MintLinuxがMemory Stickに入っていることを思い出し、
ArduinoIDE1.0.5をインストール
IRremoteライブラリーのインストール
examplesのコンパイル
コンパイル完了
って、ことはWindowsと1.0.5の相性が悪いのかと
Windowsに1.0.4をインストール
examplesをコンパイル
あっさりコンパイル完了
IRremoteを使う人はとりあえずWindows版1.0.5を使うのを控えたほうが良いと言うことでした。
残念ながら私には原因を追求するスキルはありません。
どなたかお願いいたします。
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp: In function 'int MATCH(int, int)':
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:32: error: redefinition of 'int MATCH(int, int)'
C:\Program Files (x86)\Arduino\libraries\IRremote\/IRremoteInt.h:179: error: 'int MATCH(int, int)' previously defined here
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp: In function 'int MATCH_MARK(int, int)':
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:36: error: redefinition of 'int MATCH_MARK(int, int)'
C:\Program Files (x86)\Arduino\libraries\IRremote\/IRremoteInt.h:180: error: 'int MATCH_MARK(int, int)' previously defined here
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp: In function 'int MATCH_SPACE(int, int)':
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:40: error: redefinition of 'int MATCH_SPACE(int, int)'
C:\Program Files (x86)\Arduino\libraries\IRremote\/IRremoteInt.h:181: error: 'int MATCH_SPACE(int, int)' previously defined here
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp: At global scope:
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:46: error: expected constructor, destructor, or type conversion before '&&' token
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp: In function 'int MATCH_MARK(int, int)':
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:92: error: redefinition of 'int MATCH_MARK(int, int)'
C:\Program Files (x86)\Arduino\libraries\IRremote\/IRremoteInt.h:180: error: 'int MATCH_MARK(int, int)' previously defined here
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp: In function 'int MATCH_SPACE(int, int)':
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:96: error: redefinition of 'int MATCH_SPACE(int, int)'
C:\Program Files (x86)\Arduino\libraries\IRremote\/IRremoteInt.h:181: error: 'int MATCH_SPACE(int, int)' previously defined here
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp: In constructor 'IRrecv::IRrecv(int)':
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:303: error: class 'IRrecv' does not have any field named 'enabled'
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp: In member function 'void IRrecv::enableIRIn()':
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:333: error: 'enabled' was not declared in this scope
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp: At global scope:
C:\Program Files (x86)\Arduino\libraries\IRremote\IRremote.cpp:993: error: no 'int IRrecv::getIRRemoteCode()' member function declared in class 'IRrecv'