Ошибка в компиляции.

Ответить
fleshmax
Рядовой
Сообщения: 14
Зарегистрирован: 04.12.2018{, 11:17}
Репутация: 0
Имя: Макс

Ошибка в компиляции.

#1

Сообщение fleshmax » 06.05.2020{, 20:57}

Мужики подскажите бьюсь уже второй день. Поставил 6.3.1 при компиляции вылазит ошибка с использованием нескольких библиотек. Удаляю ту что ненужна так прога вообще при компиляции начинает засыпать сообщениями что нет библиотек.
Вот лог ошибок проясните пожалуйста что удалить а что оставить.
Arduino: 1.8.11 (Windows 7), Плата:"NodeMCU 0.9 (ESP-12 Module), 80 MHz, Flash, Disabled (new can abort), All SSL ciphers (most compatible), 4MB (FS:none OTA:~1019KB), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

C:\Users\Макс\AppData\Local\Temp\flprog\pr2\pr2.ino: In function 'void loop()':

pr2:165:49: error: 'class ArduinoOTAMdnsClass<WiFiServer, WiFiClient, WiFiUDP>' has no member named 'setHostname'

pr2:166:12: error: 'class ArduinoOTAMdnsClass<WiFiServer, WiFiClient, WiFiUDP>' has no member named 'setPassword'

pr2:167:19: error: no matching function for call to 'ArduinoOTAMdnsClass<WiFiServer, WiFiClient, WiFiUDP>::begin()'

C:\Users\Макс\AppData\Local\Temp\flprog\pr2\pr2.ino:167:19: note: candidate is:

In file included from C:\Users\Макс\AppData\Local\Temp\flprog\pr2\pr2.ino:13:0:

d:\esp8266\PortableFLProg_6-3-1_Win32\ideV5\portable\sketchbook\libraries\ArduinoOTA\src/ArduinoOTA.h:87:8: note: void ArduinoOTAMdnsClass<NetServer, NetClient, NetUDP>::begin(IPAddress, const char*, const char*, OTAStorage&) [with NetServer = WiFiServer; NetClient = WiFiClient; NetUDP = WiFiUDP]

void begin(IPAddress localIP, const char* name, const char* password, OTAStorage& storage) {

^

d:\esp8266\PortableFLProg_6-3-1_Win32\ideV5\portable\sketchbook\libraries\ArduinoOTA\src/ArduinoOTA.h:87:8: note: candidate expects 4 arguments, 0 provided

Несколько библиотек найдено для "ArduinoOTA.h"
Используется: d:\esp8266\PortableFLProg_6-3-1_Win32\ideV5\portable\sketchbook\libraries\ArduinoOTA
Не используется: d:\esp8266\PortableFLProg_6-3-1_Win32\ideV5\libraries\ArduinoOTA
Не используется: D:\esp8266\PortableFLProg_6-3-1_Win32\ideV5\portable\packages\esp8266\hardware\esp8266\2.6.3\libraries\ArduinoOTA
Несколько библиотек найдено для "OneWire.h"
Используется: d:\esp8266\PortableFLProg_6-3-1_Win32\ideV5\portable\sketchbook\libraries\OneWire
Не используется: d:\esp8266\PortableFLProg_6-3-1_Win32\ideV5\libraries\OneWire
Несколько библиотек найдено для "Adafruit_GFX.h"
Используется: d:\esp8266\PortableFLProg_6-3-1_Win32\ideV5\portable\sketchbook\libraries\Adafruit_GFX_Library
Не используется: d:\esp8266\PortableFLProg_6-3-1_Win32\ideV5\libraries\Adafruit-GFX-Library
Не используется: d:\esp8266\PortableFLProg_6-3-1_Win32\ideV5\libraries\Adafruit_GFX_Library
exit status 1
'class ArduinoOTAMdnsClass<WiFiServer, WiFiClient, WiFiUDP>' has no member named 'setHostname'

БОЛЬШОЕ СПАСИБО.

aidar_i
Полковник
Сообщения: 3128
Зарегистрирован: 24.12.2016{, 16:55}
Репутация: 676
Откуда: Уфа
Имя: Айдар
Контактная информация:

Ошибка в компиляции.

#2

Сообщение aidar_i » 07.05.2020{, 05:32}

Выложите проект.

Naladchik
Капитан
Сообщения: 824
Зарегистрирован: 04.10.2015{, 19:10}
Репутация: 153
Откуда: Новосибирск
Имя: Павел

Ошибка в компиляции.

#3

Сообщение Naladchik » 03.06.2020{, 18:16}

Для тех, кто использует встроенное в FLProg "Обновление прошивки по WiFi" и у кого, при компиляции, выходит ошибка:

"...Несколько библиотек найдено для "ArduinoOTA.h"
Используется: __:\FLprog\PortableFLProg_...-...-..._Win64\ideV5\portable\sketchbook\libraries\ArduinoOTA
Не используется: __:\FLprog\PortableFLProg_...-...-..._Win64\ideV5\libraries\ArduinoOTA
Не используется: __:\FLprog\PortableFLProg_...-...-..._Win64\ideV5\portable\packages\esp8266\hardware\esp8266\2.6.3\libraries\ArduinoOTA...."

Проблема в том, что в нашем случае, для обновления прошивки по WiFi, должна использоваться только та библиотека, которая находится в
..ideV5\portable\packages\esp8266\hardware\esp8266\2.6.3\libraries\ArduinoOTA.
Код в FLProg написан именно под нее. Версия данной библиотеки 1.0, авторы Ivan Grokhotkov and Miguel Angel Ajo.
Библиотеки, которые находятся в папках ...ideV5\libraries\ArduinoOTA и ...ideV5\portable\sketchbook\libraries\ArduinoOTA, хотя и имеют такое же название "ArduinoOTA", но они совершенно другие. Их версия 1.х.х, автор данных библиотек Juraj Andrassy.
Смотреть в "....../ArduinoOTA/library.properties"
В итоге имеются 2-3 библиотеки с одинаковыми названиями но, при этом, не взаимозаменяемые.
Для нормальной компиляции скетча, использующего штатное обновление прошивки по WiFi, нужно удалить библиотеки (папки) "ArduinoOTA" в папках ...ideV5\libraries\ и ...ideV5\portable\sketchbook\libraries\.
Проверено в FLProg 7.0.1 , компилируется без ошибок.
Win10-64. FLProg Portable.
Изображение

Ответить

Вернуться в «Помогите, а то я "нимагу"»