質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

Q&A

解決済

1回答

984閲覧

Milkcocoa ESP8266 SDKのコンパイルエラーで困っています

Haruya-Taniguch

総合スコア9

Arduino

Arduinoは、AVRマイコン、単純なI/O(入出力)ポートを備えた基板、C言語を元としたArduinoのプログラム言語と、それを実装した統合開発環境から構成されたシステムです。

0グッド

0クリップ

投稿2018/08/30 07:24

編集2018/08/30 07:49

前提・実現したいこと

esp8266でmilkcocoaを使用するためにサンプルコードを実行したのですが、コンパイル時にエラーが出てしまいました。ライブラリ内のコードでエラーが出てしまったようなので対処方法が自分ではわかりません。どのように対処すればよいでしょうか。

発生している問題・エラーメッセージ

Arduino:1.8.5 (Mac OS X), ボード:"Generic ESP8266 Module, 80 MHz, Flash, nodemcu, 26 MHz, 40MHz, QIO, 2M (1M SPIFFS), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200" In file included from /Users/ユーザー名/Documents/Arduino/libraries/Milkcocoa_ESP8266_SDK-master/Milkcocoa.h:31:0, from /Users/ユーザー名/Documents/Arduino/libraries/Milkcocoa_ESP8266_SDK-master/examples/milkcocoa_esp8266/milkcocoa_esp8266.ino:2: /Users/ユーザー名/Documents/Arduino/libraries/Milkcocoa_ESP8266_SDK-master/include/aJson/aJson.h:92:6: error: conflicting return type specified for 'virtual int aJsonStream::flush()' int flush(); ^ In file included from /Users/ユーザー名/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266/Stream.h:26:0, from /Users/ユーザー名/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266/HardwareSerial.h:31, from /Users/ユーザー名/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266/Arduino.h:261, from sketch/milkcocoa_esp8266.ino.cpp:1: /Users/ユーザー名/Library/Arduino15/packages/esp8266/hardware/esp8266/2.4.2/cores/esp8266/Print.h:93:22: error: overriding 'virtual void Print::flush()' virtual void flush() { /* Empty implementation for backward compatibility */ } ^ exit status 1 ボードGeneric ESP8266 Moduleに対するコンパイル時にエラーが発生しました。 「ファイル」メニューの「環境設定」から 「より詳細な情報を表示する:コンパイル」を有効にすると より詳しい情報が表示されます。

該当のソースコード

Arduino

1 2// Create an ESP8266 WiFiClient class to connect to the MQTT server. 3WiFiClient client; 4 5const char MQTT_SERVER[] PROGMEM = MILKCOCOA_APP_ID ".mlkcca.com"; 6const char MQTT_CLIENTID[] PROGMEM = __TIME__ MILKCOCOA_APP_ID; 7 8Milkcocoa milkcocoa = Milkcocoa(&client, MQTT_SERVER, MILKCOCOA_SERVERPORT, MILKCOCOA_APP_ID, MQTT_CLIENTID); 9 10void onpush(DataElement *elem) { 11 Serial.println("onpush"); 12 Serial.println(elem->getInt("v")); 13}; 14 15void setupWiFi() { 16 Serial.println(); Serial.println(); 17 Serial.print("Connecting to "); 18 Serial.println(WLAN_SSID); 19 20 WiFi.begin(WLAN_SSID, WLAN_PASS); 21 while (WiFi.status() != WL_CONNECTED) { 22 delay(500); 23 Serial.print("."); 24 } 25 Serial.println(); 26 27 Serial.println("WiFi connected"); 28 Serial.println("IP address: "); 29 Serial.println(WiFi.localIP()); 30} 31 32void setup() { 33 Serial.begin(115200); 34 delay(10); 35 Serial.println(F("Milkcocoa SDK demo")); 36 37 setupWiFi(); 38 39 Serial.println( milkcocoa.on(MILKCOCOA_DATASTORE, "push", onpush) ); 40}; 41 42void loop() { 43 milkcocoa.loop(); 44 45 DataElement elem = DataElement(); 46 elem.setValue("v", 1); 47 48 milkcocoa.push(MILKCOCOA_DATASTORE, &elem); 49 delay(7000); 50}; 51

###試したこと
サンプルコード実行しました。(SSIDやmilkcocoaのappIDなどは自分の使っているものに書き直しました。)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ボードマネージャーのバージョンは?
過去にバージョンによって同じエラーが発生しています。
参考のTeratailのページは、
esp8266 by ESP8266 community バージョン 2.4.0を使うとコンパイルエラーになる
です。

従って違うバージョンのボードマネージャで試してそれでもエラーが発生するか?
を確認する必要があるかと。

投稿2018/08/30 14:48

MasahikoHirata

総合スコア3747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Haruya-Taniguch

2018/08/30 15:20 編集

自分のボードマネージャのバージョンは2.4.2だったのですが、他のバージョンをインストールしたらコンパイルに成功しました。 既知の問題を質問してしまったので次回からはもっと調査をしてから質問することにします。 とにかくすごく助かりました。ご回答ありがとうございました。
MasahikoHirata

2018/08/30 15:29

良かったです。また次の質問をお待ちしています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問