• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Проблема с объявлением экземпляров ESP8266WebServer

Atom

Member
Всем привет.
Что то зашел совсем в тупик с созанием Веб-сервера.

обявляю так:
Код:
#include <ESP8266WebServer.h>
...

  server = new ESP8266WebServer(80);
  wifictrl.webServerSetup( server );
  server->on ( "/", handleRoot );
...
в wifictrl вынес всякие промежуточные настройки, чтоб не таскать между разными проектами и разместил в отдельном классе библиотеки.
Занчение тоже передается по ссылке:
Код:
      void webServerSetup( ESP8266WebServer * a_server );

далее пытаюсь это все компилировать и получаю следующее:

Код:
In file included from /home/svd/Arduino/libraries/SVD/esp8266WiFiStationCtrl.h:5:0,                   
from /home/svd/Arduino/esp/esp8266_ws2812_web2/esp8266_ws2812_web2.ino:8:  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer.h: In instantiation of 'class
 esp8266webserver::ESP8266WebServerTemplate<WiFiServer>':  /home/svd/Arduino/esp/esp8266_ws2812_web2/esp8266_ws2812_web2.ino:72:35:   required from here
  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer.h:80:53: error: no type named 'ClientType' in 'class WiFiServer'     
using ClientType = typename ServerType::ClientType;                                          
             ^  In file included from /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer.h:259:0,
                   from /home/svd/Arduino/libraries/SVD/esp8266WiFiStationCtrl.h:5,
                   from /home/svd/Arduino/esp/esp8266_ws2812_web2/esp8266_ws2812_web2.ino:8:  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h: In instantiation of 'void
 esp8266webserver::ESP8266WebServerTemplate<ServerType>::handleClient() [with ServerType = WiFiServer]': 
 /home/svd/Arduino/esp/esp8266_ws2812_web2/esp8266_ws2812_web2.ino:87:24:   required from here
  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:319:20: error: using invalid field
 'esp8266webserver::ESP8266WebServerTemplate<ServerType>::_currentClient'
       _currentClient = client;
                      ^  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:327:34: error: using invalid field
 'esp8266webserver::ESP8266WebServerTemplate<ServerType>::_currentClient'
     if (_currentClient.connected() || _currentClient.available()) {
                                    ^  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:327:34: error: using invalid field 'esp8266webserver::ESP8266WebServerTemplate<ServerType>::_currentClient'
  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:334:7: error: using invalid field 'esp8266webserver::ESP8266WebServerTemplate<ServerType>::_currentClient'
         if (_currentClient.available()) {
         ^  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:335:41: error: using invalid field 
'esp8266webserver::ESP8266WebServerTemplate<ServerType>::_currentClient'
           if (_parseRequest(_currentClient)) { 
                                          ^  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:335:41: error: '_parseRequest' was 
not declared in this scope  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:336:11: error: using invalid field 
'esp8266webserver::ESP8266WebServerTemplate<ServerType>::_currentClient'
             _currentClient.setTimeout(HTTP_MAX_SEND_WAIT);
             ^  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:340:11: error: using invalid field 
'esp8266webserver::ESP8266WebServerTemplate<ServerType>::_currentClient' 
            if (_currentClient.connected()) {
             ^  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:363:20: error: using invalid field 
'esp8266webserver::ESP8266WebServerTemplate<ServerType>::_currentClient'
       _currentClient = ClientType();
                      ^  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h: In instantiation of 'void
 esp8266webserver::ESP8266WebServerTemplate<ServerType>::close() [with ServerType = WiFiServer]': 
 /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:108:9:   required from 'void
esp8266webserver::ESP8266WebServerTemplate<ServerType>::begin() [with ServerType = WiFiServer]'  /home/svd/Arduino/esp/esp8266_ws2812_web2/esp8266_ws2812_web2.ino:82:17:
   required from here  /home/svd/.arduino15/packages/esp8266/hardware/esp8266/2.7.4/libraries/ESP8266WebServer/src/ESP8266WebServer-impl.h:375:3: error: 'class WiFiServer' has no
 member named 'close' 
    _server.close();
     ^  Multiple libraries were found for "Adafruit_NeoPixel.h"
   Used: /home/svd/Arduino/libraries/Adafruit_NeoPixel
   Not used: /home/svd/Arduino/libraries/arduino_491446
не могу понять, где косячу. и что не правильно
 
Сверху Снизу