2012-03-26 23 views
2

バージョン1にアップグレードした後、これらのライブラリをテストする簡単なプログラムがあります。プログラムはライブラリと同様にリンクされています。彼らはSHT21湿度センサー用です。Arduino IDE 1.0のライブラリ

プログラムとライブラリをコンパイルしようとすると、次のエラーが発生します。

In file included from sketch_mar26a.cpp:1: /Applications/Arduino v1.0.app/Contents/Resources/Java/libraries/Ports/Ports.h:239: error: conflicting return type specified for 'virtual void UartPlug::write(byte)' /Applications/Arduino v1.0.app/Contents/Resources/Java/hardware/arduino/cores/arduino/Print.h:48: error: overriding 'virtual size_t Print::write(uint8_t)'

PRINT.H

virtual size_t write(uint8_t) = 0; 
からports.h

public: 
UartPlug (PortI2C& port, byte addr) 
    : dev (port, addr), in (0), out (0) {} 

void begin(long); 
byte available(); 
int read(); 
void flush(); 
virtual void write(byte); 

問題のある行から、問題のあるセクション

+0

おそらく、問題のあるセクションに絞って、ここに投稿できますか?あなたのコードをすべて見るために外部に行くことは、おそらく最も生産的なアプローチではありません。たとえエラーが問題の内容を直接指摘しているとしても。 – Bart

+0

申し訳ありません編集 –

答えて

8

問題は、Arduino 1.0では、Printインターフェイスが、write関数(以前はカウントを返さなかった)から 'printed'バイト数を返すように変更されています。あなたの関数の宣言:

virtual void write(byte); 

は、に変更する必要があります。

virtual size_t write(byte); 
// or write(uint8_t) since byte is #defined as uint8_t 

と実装が書き込まれたバイト数を返す必要があります。

関連する問題