Naladchik писал(а): 05 июн 2021, 18:27
Если происходит конфликт с блоками типа WiFiManager WebUpdate и подобным то пробуйте сначала в проект добавлять их и только потом ESPUI, ну или их выносите на первую плату а на последующих блоки ESPUI.
Разбирался снова , почему появляется ошибка типа:
[spoiler]In file included from C:\Users\�����\Documents\Arduino\libraries\ESPUI-2_0_2_mod\src/ESPUI-mod.h:24,
from C:\Users\Айдар\Documents\Arduino\sketch_oct04a\sketch_oct04a.ino:4:
C:\Users\�����\Documents\Arduino\libraries\ESPAsyncWebServer\src/ESPAsyncWebServer.h:62:18: error: 'HTTP_GET' conflicts with a previous declaration
62 | HTTP_GET = 0b00000001,
| ^~~~~~~~~~
In file included from C:\Users\Айдар\Documents\Arduino\sketch_oct04a\sketch_oct04a.ino:3:
C:\Users\�����\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WebServer\src/ESP8266WebServer.h:47:29: note: previous declaration 'HTTPMethod HTTP_GET'
47 | enum HTTPMethod { HTTP_ANY, HTTP_GET, HTTP_HEAD, HTTP_POST, HTTP_PUT, HTTP_PATCH, HTTP_DELETE, HTTP_OPTIONS };
| ^~~~~~~~
In file included from C:\Users\�����\Documents\Arduino\libraries\ESPUI-2_0_2_mod\src/ESPUI-mod.h:24,
from C:\Users\Айдар\Documents\Arduino\sketch_oct04a\sketch_oct04a.ino:4:
C:\Users\�����\Documents\Arduino\libraries\ESPAsyncWebServer\src/ESPAsyncWebServer.h:63:18: error: 'HTTP_POST' conflicts with a previous declaration
63 | HTTP_POST = 0b00000010,
| ^~~~~~~~~~
In file included from C:\Users\Айдар\Documents\Arduino\sketch_oct04a\sketch_oct04a.ino:3:
C:\Users\�����\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WebServer\src/ESP8266WebServer.h:47:50: note: previous declaration 'HTTPMethod HTTP_POST'
47 | enum HTTPMethod { HTTP_ANY, HTTP_GET, HTTP_HEAD, HTTP_POST, HTTP_PUT, HTTP_PATCH, HTTP_DELETE, HTTP_OPTIONS };
| ^~~~~~~~~
In file included from C:\Users\�����\Documents\Arduino\libraries\ESPUI-2_0_2_mod\src/ESPUI-mod.h:24,
from C:\Users\Айдар\Documents\Arduino\sketch_oct04a\sketch_oct04a.ino:4:
C:\Users\�����\Documents\Arduino\libraries\ESPAsyncWebServer\src/ESPAsyncWebServer.h:64:18: error: 'HTTP_DELETE' conflicts with a previous declaration
64 | HTTP_DELETE = 0b00000100,
| ^~~~~~~~~~
In file included from C:\Users\Айдар\Documents\Arduino\sketch_oct04a\sketch_oct04a.ino:3:
C:\Users\�����\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WebServer\src/ESP8266WebServer.h:47:83: note: previous declaration 'HTTPMethod HTTP_DELETE'
47 | enum HTTPMethod { HTTP_ANY, HTTP_GET, HTTP_HEAD, HTTP_POST, HTTP_PUT, HTTP_PATCH, HTTP_DELETE, HTTP_OPTIONS };
| ^~~~~~~~~~~
In file included from C:\Users\�����\Documents\Arduino\libraries\ESPUI-2_0_2_mod\src/ESPUI-mod.h:24,
from C:\Users\Айдар\Documents\Arduino\sketch_oct04a\sketch_oct04a.ino:4:
C:\Users\�����\Documents\Arduino\libraries\ESPAsyncWebServer\src/ESPAsyncWebServer.h:65:18: error: 'HTTP_PUT' conflicts with a previous declaration
65 | HTTP_PUT = 0b00001000,
| ^~~~~~~~~~
In file included from C:\Users\Айдар\Documents\Arduino\sketch_oct04a\sketch_oct04a.ino:3:
C:\Users\�����\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WebServer\src/ESP8266WebServer.h:47:61: note: previous declaration 'HTTPMethod HTTP_PUT'
47 | enum HTTPMethod { HTTP_ANY, HTTP_GET, HTTP_HEAD, HTTP_POST, HTTP_PUT, HTTP_PATCH, HTTP_DELETE, HTTP_OPTIONS };
| ^~~~~~~~
In file included from C:\Users\�����\Documents\Arduino\libraries\ESPUI-2_0_2_mod\src/ESPUI-mod.h:24,
from C:\Users\Айдар\Documents\Arduino\sketch_oct04a\sketch_oct04a.ino:4:
C:\Users\�����\Documents\Arduino\libraries\ESPAsyncWebServer\src/ESPAsyncWebServer.h:66:18: error: 'HTTP_PATCH' conflicts with a previous declaration
66 | HTTP_PATCH = 0b00010000,
| ^~~~~~~~~~
In file included from C:\Users\Айдар\Documents\Arduino\sketch_oct04a\sketch_oct04a.ino:3:
C:\Users\�����\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WebServer\src/ESP8266WebServer.h:47:71: note: previous declaration 'HTTPMethod HTTP_PATCH'
47 | enum HTTPMethod { HTTP_ANY, HTTP_GET, HTTP_HEAD, HTTP_POST, HTTP_PUT, HTTP_PATCH, HTTP_DELETE, HTTP_OPTIONS };
| ^~~~~~~~~~
In file included from C:\Users\�����\Documents\Arduino\libraries\ESPUI-2_0_2_mod\src/ESPUI-mod.h:24,
from C:\Users\Айдар\Documents\Arduino\sketch_oct04a\sketch_oct04a.ino:4:
C:\Users\�����\Documents\Arduino\libraries\ESPAsyncWebServer\src/ESPAsyncWebServer.h:67:18: error: 'HTTP_HEAD' conflicts with a previous declaration
67 | HTTP_HEAD = 0b00100000,
| ^~~~~~~~~~
In file included from C:\Users\Айдар\Documents\Arduino\sketch_oct04a\sketch_oct04a.ino:3:
C:\Users\�����\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WebServer\src/ESP8266WebServer.h:47:39: note: previous declaration 'HTTPMethod HTTP_HEAD'
47 | enum HTTPMethod { HTTP_ANY, HTTP_GET, HTTP_HEAD, HTTP_POST, HTTP_PUT, HTTP_PATCH, HTTP_DELETE, HTTP_OPTIONS };
| ^~~~~~~~~
In file included from C:\Users\�����\Documents\Arduino\libraries\ESPUI-2_0_2_mod\src/ESPUI-mod.h:24,
from C:\Users\Айдар\Documents\Arduino\sketch_oct04a\sketch_oct04a.ino:4:
C:\Users\�����\Documents\Arduino\libraries\ESPAsyncWebServer\src/ESPAsyncWebServer.h:68:18: error: 'HTTP_OPTIONS' conflicts with a previous declaration
68 | HTTP_OPTIONS = 0b01000000,
| ^~~~~~~~~~
In file included from C:\Users\Айдар\Documents\Arduino\sketch_oct04a\sketch_oct04a.ino:3:
C:\Users\�����\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WebServer\src/ESP8266WebServer.h:47:96: note: previous declaration 'HTTPMethod HTTP_OPTIONS'
47 | enum HTTPMethod { HTTP_ANY, HTTP_GET, HTTP_HEAD, HTTP_POST, HTTP_PUT, HTTP_PATCH, HTTP_DELETE, HTTP_OPTIONS };
| ^~~~~~~~~~~~
In file included from C:\Users\�����\Documents\Arduino\libraries\ESPUI-2_0_2_mod\src/ESPUI-mod.h:24,
from C:\Users\Айдар\Documents\Arduino\sketch_oct04a\sketch_oct04a.ino:4:
C:\Users\�����\Documents\Arduino\libraries\ESPAsyncWebServer\src/ESPAsyncWebServer.h:69:18: error: 'HTTP_ANY' conflicts with a previous declaration
69 | HTTP_ANY = 0b01111111,
| ^~~~~~~~~~
In file included from C:\Users\Айдар\Documents\Arduino\sketch_oct04a\sketch_oct04a.ino:3:
C:\Users\�����\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WebServer\src/ESP8266WebServer.h:47:19: note: previous declaration 'HTTPMethod HTTP_ANY'
47 | enum HTTPMethod { HTTP_ANY, HTTP_GET, HTTP_HEAD, HTTP_POST, HTTP_PUT, HTTP_PATCH, HTTP_DELETE, HTTP_OPTIONS };
[/spoiler]
Нашел в в интернете такую рекомендацию : поставить первым строку #define WEBSERVER_H, ошибки пропали,немного ругается на SPIFFS, но компиляция идет корректно.
При включении клиента появляется ошибка : Компилятор ругается на метод HTTP_ANY, говорит не декларируется он здесь.
Библиотеки FLProg располагает так:
[spoiler]
#include <ESP8266WiFi.h>
#include <ESPUI-mod.h>
#include <WiFiManager.h>
#include <Ticker.h>
#include <WiFiUdp.h>
#include <ESP8266mDNS.h>
#include <ESP8266WebServer.h>
#include <ArduinoOTA.h>
#include <DNSServer.h>[/spoiler]
Нужно всего то переставить строку вперед после #include <ESP8266WiFi.h>
[spoiler]
#define WEBSERVER_H // эту строку добавить
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h> //переставил
#include <ESPUI-mod.h>
#include <WiFiManager.h>
#include <Ticker.h>
#include <WiFiUdp.h>
#include <ESP8266mDNS.h>
#include <ArduinoOTA.h>
#include <DNSServer.h>[/spoiler]
Если у Вас точка доступа или не используется штатные настройки (там нет #include <ESP8266WiFi.h>), то поставить #include <ESP8266WebServer.h> после #include <WiFiManager.h>, но выше #include <ESPUI-mod.h> .