ESP8266WebServer-impl.h compilation error

Hello,
I tried to compiled my project after updating Platformio and received errors regarding the build-in library ESP8266WebServer.
I’ve already uninstalled and reinstalled everything (arduino-ide, arduino15 folder, VS Code, python), but still get these errors.

  • ESP8266WebServer-impl.h:624:21: error: invalid conversion from ‘int’ to ‘const __FlashStringHelper*’ [-fpermissive]
  • ESP8266WebServer-impl.h:624:21: error: conversion from ‘const int’ to ‘String’ is ambiguous
  • ESP8266WebServer-impl.h:624:21: error: invalid conversion from ‘int’ to ‘const char*’ [-fpermissive]

Where / what is the Problem?

...
Processing d1_mini_pro (platform: espressif8266; board: d1_mini_pro; framework: arduino; monitor_port: COM4; monitor_speed: 115200; upload_port: 
COM4; lib_deps: ESP8266WebServer @ ^1.0, werecatf/PCF8574_ESP@^1.0.10, marcoschwartz/LiquidCrystal_I2C@^1.1.4, arduino-libraries/NTPClient, bblanchon/ArduinoJson@^6.17.2, paulstoffregen/Time@^1.6.1, links2004/WebSockets@^2.3.6, gmag11/NtpClientLib@^3.0.2-beta, knolleary/PubSubClient@^2.8, 
paulstoffregen/OneWire@^2.3.6, milesburton/DallasTemperature@^3.9.1, adafruit/Adafruit BME280 Library@^2.2.1, adafruit/Adafruit BusIO@^1.9.8, adafruit/Adafruit GFX Library@^1.10.12, adafruit/Adafruit Unified Sensor@^1.1.4, adafruit/Adafruit ILI9341@^1.5.10, adafruit/DHT sensor library@^1.4.3; lib_ignore: WiFi101, TinyWireM; build_flags: -D PIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH, -DDEBUG_ESP_PORT=Serial, -DDEBUG_ESP_OTA)      
-------------------------------------------------------------------------------------------------------------------------------------------------CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/d1_mini_pro.html
PLATFORM: Espressif 8266 (3.2.0) > WeMos D1 mini Pro
HARDWARE: ESP8266 80MHz, 80KB RAM, 16MB Flash       
PACKAGES:
 - framework-arduinoespressif8266 3.30002.0 (3.0.2) 
 - tool-esptool 1.413.0 (4.13)
 - tool-esptoolpy 1.30000.201119 (3.0.0)
 - toolchain-xtensa 2.100300.210717 (10.3.0)        
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 55 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <ESP8266WebServer> 1.0 (C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer)
|   |-- <ESP8266WiFi> 1.0 (C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi)
|-- <PCF8574_ESP> 1.0.10 (D:\Dokumente\PlatformIO\Projects\THP\THP-Sender_wPlug_092\.pio\libdeps\d1_mini_pro\PCF8574_ESP)
|   |-- <Wire> 1.0 (C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\Wire)
|-- <LiquidCrystal_I2C> 1.1.4 (D:\Dokumente\PlatformIO\Projects\THP\THP-Sender_wPlug_092\.pio\libdeps\d1_mini_pro\LiquidCrystal_I2C)
|   |-- <Wire> 1.0 (C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\Wire)
|-- <NTPClient> 3.1.0 (D:\Dokumente\PlatformIO\Projects\THP\THP-Sender_wPlug_092\.pio\libdeps\d1_mini_pro\NTPClient)
|-- <ArduinoJson> 6.18.5 (D:\Dokumente\PlatformIO\Projects\THP\THP-Sender_wPlug_092\.pio\libdeps\d1_mini_pro\ArduinoJson)
|-- <Time> 1.6.1 (D:\Dokumente\PlatformIO\Projects\THP\THP-Sender_wPlug_092\.pio\libdeps\d1_mini_pro\Time)
|-- <WebSockets> 2.3.6 (D:\Dokumente\PlatformIO\Projects\THP\THP-Sender_wPlug_092\.pio\libdeps\d1_mini_pro\WebSockets)
|   |-- <ESP8266WiFi> 1.0 (C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi)
|   |-- <Ethernet> 2.0.0 (C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\Ethernet)
|   |   |-- <SPI> 1.0 (C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\SPI)
|   |-- <SPI> 1.0 (C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\SPI)
|   |-- <Hash> 1.0 (C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\Hash)
|   |-- <ESP8266WebServer> 1.0 (C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer)
|   |   |-- <ESP8266WiFi> 1.0 (C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi)
|-- <NtpClientLib> 3.0.2-beta (D:\Dokumente\PlatformIO\Projects\THP\THP-Sender_wPlug_092\.pio\libdeps\d1_mini_pro\NtpClientLib)
 -DLWsrc\main.cpp:2898:38:   required from here
IP_OPEN_SRC C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/**ESP8266WebServer-impl.h:624:21: error: could not convert 'args#0' from 'const char* const [2]' to 'String'**
  624 |   _currentHeaders = new RequestArgument[_headerKeysCount = sizeof...(args) + 2] {
      |                     ^~~~~~~-~D~NO~N~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OS      |                     |
DK2      |                     const char* const [2]
2x_190  625 |     { .key = FPSTR(AUTHORIZATION_HEADER), .value = emptyString },
7      |     ~~~0~3~=~1~ ~-~D~T~C~P~_~M~S~S~=~1~4~6~0~ ~-~D~L~W~I~P~~~~~~~~~~~~_~F~E~A~T~U~R~E~S~=~1~ ~-~D~L~W~I~P_~~~~
I  626 |     { .key = FPSTR(ETAG_HEADER), .value = emptyString },
P      |     ~~~~V~6~=~0~ ~-~D~V~T~A~B~L~E~S~_~I~N~_~FLA~S~H~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 -  627 |     { .key = args, .value = emptyString } ...
D      |     ~~~M~M~U~~_~I~R~A~M~_~S~I~~~~~~~~~~~~~~Z~E~=~0~x~8~0~0~~0~ ~-~D~M
M  628 |   };
U_      |   ~
ICAC:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/**ESP8266WebServer-impl.h:624:21: error: conversion from 'const int' to 'String' is ambiguous**
CHEIn file included from C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:286,
_SIZ                 from src\main.cpp:1:
E=0C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/WString.h:59:9: note: candidate: 'String::String(const __FlashStringHelper*)' (near match)
x8000 -   59 |         String(const __FlashStringHelper *str);
IC      |         ^~~~:~\~U
seC:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/WString.h:59:9: note:   conversion of argument 1 would be ill-formed:
rs\In file included from C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer.h:340,MiKo                 from src\main.cpp:11:
\.C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/**ESP8266WebServer-impl.h:624:21: error: invalid conversion from 'int' to 'const __FlashStringHelper*' [-fpermissive]**
pl  624 |   _currentHeaders = new RequestArgument[_headerKeysCount = sizeof...(args) + 2] {
a      |                     ^~~~t~f~o~r~m~i~o~\~p~a~c~k~a~g~e~s~\~f~r~a~m~e~w~o~r~k~-~a~r~d~u~i~n~o~e~s~p~r~e~s~si~~~~~~~~~~~~~~~~~
f      |                     |
826      |                     int
6\t  625 |     { .key = FPSTR(AUTHORIZATION_HEADER), .value = emptyString },

Remove this folder and build the project again to get a clean Arduino-ESP8266 version.

Thanks for your reply.

I deleted the folder and also searched my hard drives for other occurrences of that folder.
Restarted platformio and build the project.
But the problem still exists - same errors and the folder is available again.

Create a new NodeMCUv2 project and add as src\main.cpp the exact code of HelloServer.ino.

Does it compile? Because it does for me.

Checking size .pio\build\nodemcuv2\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [====      ]  35.6% (used 29152 bytes from 81920 bytes)
Flash: [===       ]  30.8% (used 321853 bytes from 1044464 bytes)
Building .pio\build\nodemcuv2\firmware.bin
Creating BIN file ".pio\build\nodemcuv2\firmware.bin" using "C:\Users\Max\.platformio\packages\framework-arduinoespressif8266\bootloaders\eboot\eboot.elf" and ".pio\build\nodemcuv2\firmware.elf"
============== [SUCCESS] Took 12.84 seconds ==============

That worked without any errors … !!!

Processing nodemcuv2 (platform: espressif8266; board: nodemcuv2; framework: arduino)
------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/nodemcuv2.html
PLATFORM: Espressif 8266 (3.2.0) > NodeMCU 1.0 (ESP-12E Module)
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
PACKAGES:
 - framework-arduinoespressif8266 3.30002.0 (3.0.2)
 - tool-esptool 1.413.0 (4.13)
 - tool-esptoolpy 1.30000.201119 (3.0.0)
 - toolchain-xtensa 2.100300.210717 (10.3.0)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 35 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <ESP8266mDNS> 1.2
|   |-- <ESP8266WiFi> 1.0
|-- <ESP8266WebServer> 1.0
|   |-- <ESP8266WiFi> 1.0
|-- <ESP8266WiFi> 1.0
Building in release mode
Retrieving maximum program size .pio\build\nodemcuv2\firmware.elf
Checking size .pio\build\nodemcuv2\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [====      ]  35.6% (used 29152 bytes from 81920 bytes)
Flash: [===       ]  30.8% (used 321853 bytes from 1044464 bytes)
================================================================== [SUCCESS] Took 2.66 seconds ==================================================================

Then there’s something specific in your project that makes it fail.

What is the full platformio.ini and code? (Can you upload the project on e.g. Github?)

If not, please open a CLI and execute the following two commands

pio run -t clean
pio run -j1

this will show the error more clearly without intermixed garbled text.

Looks nearly the same …

========================================================== [SUCCESS] Took 0.86 seconds ==========================================================PS D:\Dokumente\PlatformIO\Projects\THP\THP-Sender_wPlug_092> pio run -j1
Processing d1_mini_pro (platform: espressif8266; board: d1_mini_pro; framework: arduino)
-------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/d1_mini_pro.html
PLATFORM: Espressif 8266 (3.2.0) > WeMos D1 mini Pro
HARDWARE: ESP8266 80MHz, 80KB RAM, 16MB Flash
PACKAGES:
 - framework-arduinoespressif8266 3.30002.0 (3.0.2)
 - tool-esptool 1.413.0 (4.13)
 - tool-esptoolpy 1.30000.201119 (3.0.0)
 - toolchain-xtensa 2.100300.210717 (10.3.0)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 55 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <ESP8266WebServer> 1.0
|   |-- <ESP8266WiFi> 1.0
|-- <PCF8574_ESP> 1.0.10
|   |-- <Wire> 1.0
|-- <LiquidCrystal_I2C> 1.1.4
|   |-- <Wire> 1.0
|-- <NTPClient> 3.1.0
|-- <ArduinoJson> 6.18.5
|-- <Time> 1.6.1
|-- <WebSockets> 2.3.6
|   |-- <ESP8266WiFi> 1.0
|   |-- <Ethernet> 2.0.0
|   |   |-- <SPI> 1.0
|   |-- <SPI> 1.0
|   |-- <Hash> 1.0
|   |-- <ESP8266WebServer> 1.0
|   |   |-- <ESP8266WiFi> 1.0
|-- <NtpClientLib> 3.0.2-beta
|   |-- <Time> 1.6.1
|   |-- <ESPAsyncUDP> 0.0.0-alpha+sha.697c75a025
|   |-- <Ethernet> 2.0.0
|   |   |-- <SPI> 1.0
|   |-- <ESP8266WiFi> 1.0
|   |-- <Ticker> 1.0
|-- <PubSubClient> 2.8.0
|-- <OneWire> 2.3.6
|-- <DallasTemperature> 3.9.1
|   |-- <OneWire> 2.3.6
|-- <Adafruit BME280 Library> 2.2.1
|   |-- <Adafruit BusIO> 1.9.8
|   |   |-- <Wire> 1.0
|   |   |-- <SPI> 1.0
|   |-- <Wire> 1.0
|   |-- <SPI> 1.0
|   |-- <Adafruit Unified Sensor> 1.1.4
|-- <Adafruit BusIO> 1.9.8
|   |-- <Wire> 1.0
|   |-- <SPI> 1.0
|-- <Adafruit GFX Library> 1.10.12
|   |-- <Adafruit BusIO> 1.9.8
|   |   |-- <Wire> 1.0
|   |   |-- <SPI> 1.0
|   |-- <Wire> 1.0
|   |-- <SPI> 1.0
|-- <Adafruit Unified Sensor> 1.1.4
|-- <Adafruit ILI9341> 1.5.10
|   |-- <Adafruit GFX Library> 1.10.12
|   |   |-- <Adafruit BusIO> 1.9.8
|   |   |   |-- <Wire> 1.0
|   |   |   |-- <SPI> 1.0
|   |   |-- <Wire> 1.0
|   |   |-- <SPI> 1.0
|   |-- <SPI> 1.0
|-- <DHT sensor library> 1.4.3
|   |-- <Adafruit Unified Sensor> 1.1.4
|-- <ArduinoOTA> 1.0
|   |-- <ESP8266WiFi> 1.0
|   |-- <ESP8266mDNS> 1.2
|   |   |-- <ESP8266WiFi> 1.0
|-- <EEPROM> 1.0
|-- <ESP8266mDNS> 1.2
|   |-- <ESP8266WiFi> 1.0
|-- <ESP8266WiFi> 1.0
|-- <Hash> 1.0
|-- <Wire> 1.0
Building in release mode
Compiling .pio\build\d1_mini_pro\src\main.cpp.o
In file included from src\main.cpp:13:
.pio\libdeps\d1_mini_pro\NtpClientLib\src/NtpClientLib.h:64: warning: "NETWORK_W5100" redefined
   64 | #define NETWORK_W5100           (1) // Arduino Ethernet Shield
      |
In file included from .pio\libdeps\d1_mini_pro\WebSockets\src/WebSocketsServer.h:28,
                 from src\main.cpp:12:
.pio\libdeps\d1_mini_pro\WebSockets\src/WebSockets.h:101: note: this is the location of the previous definition
  101 | #define NETWORK_W5100 (2)
      |
In file included from src\main.cpp:13:
.pio\libdeps\d1_mini_pro\NtpClientLib\src/NtpClientLib.h:65: warning: "NETWORK_ENC28J60" redefined
   65 | #define NETWORK_ENC28J60        (2) // Alternate Ethernet Shield
      |
In file included from .pio\libdeps\d1_mini_pro\WebSockets\src/WebSocketsServer.h:28,
                 from src\main.cpp:12:
.pio\libdeps\d1_mini_pro\WebSockets\src/WebSockets.h:102: note: this is the location of the previous definition
  102 | #define NETWORK_ENC28J60 (3)
      |
In file included from src\main.cpp:13:
.pio\libdeps\d1_mini_pro\NtpClientLib\src/NtpClientLib.h:67: warning: "NETWORK_ESP8266" redefined
   67 | #define NETWORK_ESP8266   (100) // ESP8266 boards, not for Arduino using AT firmware
      |
In file included from .pio\libdeps\d1_mini_pro\WebSockets\src/WebSocketsServer.h:28,
                 from src\main.cpp:12:
.pio\libdeps\d1_mini_pro\WebSockets\src/WebSockets.h:100: note: this is the location of the previous definition
  100 | #define NETWORK_ESP8266 (1)
      |
In file included from src\main.cpp:13:
.pio\libdeps\d1_mini_pro\NtpClientLib\src/NtpClientLib.h:68: warning: "NETWORK_ESP32" redefined
   68 | #define NETWORK_ESP32           (101) // ESP32 boards
      |
In file included from .pio\libdeps\d1_mini_pro\WebSockets\src/WebSocketsServer.h:28,
                 from src\main.cpp:12:
.pio\libdeps\d1_mini_pro\WebSockets\src/WebSockets.h:103: note: this is the location of the previous definition
  103 | #define NETWORK_ESP32 (4)
      |
src\main.cpp:5200:2: warning: "/*" within comment [-Wcomment]
 5200 |  /*
      |
src\main.cpp: In function 'bool pcfSwitchRelais(uint8_t, uint8_t)':
src\main.cpp:483:8: warning: variable 'istStatus' set but not used [-Wunused-but-set-variable]
  483 |  bool  istStatus;
      |        ^~~~~~~~~
src\main.cpp:484:7: warning: unused variable 'xtopic' [-Wunused-variable]
  484 |  char xtopic[65];
      |       ^~~~~~
src\main.cpp: In function 'uint8_t i2cGetDevicesOnBus()':
src\main.cpp:752:7: warning: statement has no effect [-Wunused-value]
  752 |  for( scanAddr ; scanAddr < 127 ; scanAddr++ )
      |       ^~~~~~~~
src\main.cpp:743:10: warning: variable 'i2cAddr' set but not used [-Wunused-but-set-variable]
  743 |  uint8_t i2cAddr[20];
      |          ^~~~~~~
src\main.cpp: In function 'void lcdDisplayValues(int)':
src\main.cpp:899:10: warning: unused variable 'strLength' [-Wunused-variable]
  899 |  uint8_t strLength          = 0;
      |          ^~~~~~~~~
src\main.cpp: In function 'void lcdDisplayHumi()':
src\main.cpp:969:14: warning: unused variable 'strLength' [-Wunused-variable]
  969 |  int         strLength         = 0;
      |              ^~~~~~~~~
src\main.cpp: In function 'void lcdDisplayTemp()':
src\main.cpp:1007:14: warning: unused variable 'strLength' [-Wunused-variable]
 1007 |  int         strLength         = 0;
      |              ^~~~~~~~~
src\main.cpp: In function 'void lcdDisplayContent(int, uint8_t)':
src\main.cpp:1045:6: warning: unused variable 'newSensorID' [-Wunused-variable]
 1045 |  int newSensorID = sensorID;
      |      ^~~~~~~~~~~
src\main.cpp: In function 'uint32_t getRuntime(int)':
src\main.cpp:1112:12: warning: unused variable 'ims' [-Wunused-variable]
 1112 |  uint16_t  ims       = 0;
      |            ^~~
src\main.cpp: In function 'void getWiFiInfo()':
src\main.cpp:1170:60: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
 1170 |  Serial.println("WiFi-Standard ....... " + WiFi.getPhyMode() );
      |                                                            ^
src\main.cpp:1170:60: note: candidate 1: 'operator+(const char*, int)' (built-in)
In file included from C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:286,
                 from src\main.cpp:1:
C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/WString.h:350:15: note: candidate 2: 'String operator+(String&&, 
const T&) [with T = WiFiPhyMode; <template-parameter-1-2> = void]'
  350 | inline String operator +(String &&lhs, const T &value) {
      |               ^~~~~~~~
src\main.cpp:1170:60: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
 1170 |  Serial.println("WiFi-Standard ....... " + WiFi.getPhyMode() );
      |                                                            ^
src\main.cpp:1170:60: note: candidate 1: 'operator+(const char*, int)' (built-in)
In file included from C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:286,
                 from src\main.cpp:1:
C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/WString.h:342:15: note: candidate 2: 'String operator+(const String&, const T&) [with T = WiFiPhyMode; <template-parameter-1-2> = void]'
  342 | inline String operator +(const String &lhs, const T &value) {
      |               ^~~~~~~~
src\main.cpp: In function 'void wifiCheckSTAstatus()':
src\main.cpp:1707:7: warning: variable 'stopLoop' set but not used [-Wunused-but-set-variable]
 1707 |  bool stopLoop = false;
      |       ^~~~~~~~
src\main.cpp: In function 'bool readDHTSensor()':
src\main.cpp:2026:22: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
 2026 |     mqttSensorUpdate("sensor/dht1/temp/", newTemp);
      |                      ^~~~~~~~~~~~~~~~~~~
src\main.cpp:2069:22: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
 2069 |     mqttSensorUpdate("sensor/dht1/humi/", newHumi);
      |                      ^~~~~~~~~~~~~~~~~~~
src\main.cpp:1969:9: warning: unused variable 'sensorValues' [-Wunused-variable]
 1969 |  float  sensorValues[10];
      |         ^~~~~~~~~~~~
src\main.cpp: In function 'void owClearSensorData(int)':
src\main.cpp:2225:10: warning: unused variable 'counter' [-Wunused-variable]
 2225 |  int     counter = 0;
      |          ^~~~~~~
src\main.cpp: In function 'int owGetDevCount(bool)':
src\main.cpp:2264:41: warning: right operand of comma operator has no effect [-Wunused-value]
 2264 |  devCount=owDallas.getDeviceCount(), DEC;
      |                                         ^
src\main.cpp: In function 'bool owWriteDevData(int)':
src\main.cpp:2325:10: warning: unused variable 'xTemp' [-Wunused-variable]
 2325 |  float   xTemp         = -999.99;
      |          ^~~~~
src\main.cpp: In function 'String owAddrToChar(uint8_t*)':
src\main.cpp:2456:37: warning: value computed is not used [-Wunused-value]
 2456 |   strcat(addrCStr, String( (sAddr[ac],HEX) ).c_str() );
      |                             ~~~~~~~~^
src\main.cpp:2456:37: warning: left operand of comma operator has no effect [-Wunused-value]
src\main.cpp: In function 'void owGetDevList()':
src\main.cpp:2684:77: warning: right operand of comma operator has no effect [-Wunused-value]
 2684 |   owSensor[i].devPrecision = owDallas.getResolution(owSensor[i].devAddr),DEC;
      |                                                                             ^
src\main.cpp:2612:16: warning: unused variable 'actualAddress' [-Wunused-variable]
 2612 |  DeviceAddress actualAddress;
      |                ^~~~~~~~~~~~~
src\main.cpp: In function 'void flashReadAll()':
src\main.cpp:2859:7: warning: statement has no effect [-Wunused-value]
 2859 |  for (scanAddr; scanAddr < fsize; scanAddr++)
      |       ^~~~~~~~
src\main.cpp:2867:8: warning: statement has no effect [-Wunused-value]
 2867 |   for (intloop; intloop < 32; intloop++)
      |        ^~~~~~~
src\main.cpp:2856:7: warning: unused variable 'lastValue' [-Wunused-variable]
 2856 |  char lastValue  = ' ';
      |       ^~~~~~~~~
src\main.cpp: In function 'void startWebServer()':
src\main.cpp:2893:16: warning: unused variable 'headerkeyssize' [-Wunused-variable]
 2893 |  size_t        headerkeyssize  = sizeof(headerkeys)/sizeof(char*);
      |                ^~~~~~~~~~~~~~
src\main.cpp: In function 'void startAWebServer()':
src\main.cpp:2934:16: warning: unused variable 'headerkeyssize' [-Wunused-variable]
 2934 |  size_t        headerkeyssize  = sizeof(headerkeys)/sizeof(char*);
      |                ^~~~~~~~~~~~~~
src\main.cpp: In function 'void handleInfo()':
src\main.cpp:3199:14: warning: unused variable 'bSize' [-Wunused-variable]
 3199 |  uint16_t    bSize             = 0;
      |              ^~~~~
src\main.cpp:3200:14: warning: unused variable 'bufferSize' [-Wunused-variable]
 3200 |  uint16_t    bufferSize        = 0;
      |              ^~~~~~~~~~
src\main.cpp:3201:14: warning: unused variable 'counter' [-Wunused-variable]
 3201 |  uint16_t    counter           = 0;
      |              ^~~~~~~
src\main.cpp: In function 'void handleCfgDefault()':
src\main.cpp:3436:12: warning: unused variable 'bSize' [-Wunused-variable]
 3436 |  int       bSize             = 0;
      |            ^~~~~
src\main.cpp:3437:12: warning: unused variable 'bufferSize' [-Wunused-variable]
 3437 |  int       bufferSize        = 0;
      |            ^~~~~~~~~~
src\main.cpp:3438:12: warning: unused variable 'counter' [-Wunused-variable]
 3438 |  int       counter           = 0;
      |            ^~~~~~~
src\main.cpp: In function 'void handleCfgClient()':
src\main.cpp:3523:12: warning: unused variable 'bSize' [-Wunused-variable]
 3523 |  int       bSize             = 0;
      |            ^~~~~
src\main.cpp:3524:12: warning: unused variable 'bufferSize' [-Wunused-variable]
 3524 |  int       bufferSize        = 0;
      |            ^~~~~~~~~~
src\main.cpp:3525:12: warning: unused variable 'counter' [-Wunused-variable]
 3525 |  int       counter           = 0;
      |            ^~~~~~~
src\main.cpp: In function 'void handleCfgAP()':
src\main.cpp:3636:12: warning: unused variable 'bSize' [-Wunused-variable]
 3636 |  int       bSize             = 0;
      |            ^~~~~
src\main.cpp:3637:12: warning: unused variable 'bufferSize' [-Wunused-variable]
 3637 |  int       bufferSize        = 0;
      |            ^~~~~~~~~~
src\main.cpp:3638:12: warning: unused variable 'counter' [-Wunused-variable]
 3638 |  int       counter           = 0;
      |            ^~~~~~~
src\main.cpp: In function 'void handleCfgMqtt()':
src\main.cpp:3739:12: warning: unused variable 'bSize' [-Wunused-variable]
 3739 |  int       bSize             = 0;
      |            ^~~~~
src\main.cpp:3740:12: warning: unused variable 'bufferSize' [-Wunused-variable]
 3740 |  int       bufferSize        = 0;
      |            ^~~~~~~~~~
src\main.cpp:3741:12: warning: unused variable 'counter' [-Wunused-variable]
 3741 |  int       counter           = 0;
      |            ^~~~~~~
src\main.cpp:3742:12: warning: unused variable 'uiv' [-Wunused-variable]
 3742 |  char      uiv[10]           = {0};
      |            ^~~
src\main.cpp: In function 'void handleCfgAlert()':
src\main.cpp:3859:12: warning: unused variable 'bSize' [-Wunused-variable]
 3859 |  int       bSize             = 0;
      |            ^~~~~
src\main.cpp:3860:12: warning: unused variable 'bufferSize' [-Wunused-variable]
 3860 |  int       bufferSize        = 0;
      |            ^~~~~~~~~~
src\main.cpp:3861:12: warning: unused variable 'counter' [-Wunused-variable]
 3861 |  int       counter           = 0;
      |            ^~~~~~~
src\main.cpp:3862:12: warning: unused variable 'uiv' [-Wunused-variable]
 3862 |  char      uiv[10]           = {0};
      |            ^~~
src\main.cpp: In function 'void handleCfgSchedule()':
src\main.cpp:4047:12: warning: unused variable 'bSize' [-Wunused-variable]
 4047 |  int       bSize             = 0;
      |            ^~~~~
src\main.cpp:4048:12: warning: unused variable 'bufferSize' [-Wunused-variable]
 4048 |  int       bufferSize        = 0;
      |            ^~~~~~~~~~
src\main.cpp:4049:12: warning: unused variable 'counter' [-Wunused-variable]
 4049 |  int       counter           = 0;
      |            ^~~~~~~
src\main.cpp:4050:12: warning: unused variable 'uiv' [-Wunused-variable]
 4050 |  char      uiv[10]           = {0};
      |            ^~~
src\main.cpp: In function 'void handleCfgServer()':
src\main.cpp:4149:12: warning: unused variable 'bSize' [-Wunused-variable]
 4149 |  int       bSize             = 0;
      |            ^~~~~
src\main.cpp:4150:12: warning: unused variable 'bufferSize' [-Wunused-variable]
 4150 |  int       bufferSize        = 0;
      |            ^~~~~~~~~~
src\main.cpp:4151:12: warning: unused variable 'counter' [-Wunused-variable]
 4151 |  int       counter           = 0;
      |            ^~~~~~~
src\main.cpp: In function 'void handleCfgMenu()':
src\main.cpp:4235:12: warning: unused variable 'bSize' [-Wunused-variable]
 4235 |  int       bSize             = 0;
      |            ^~~~~
src\main.cpp:4236:12: warning: unused variable 'bufferSize' [-Wunused-variable]
 4236 |  int       bufferSize        = 0;
      |            ^~~~~~~~~~
src\main.cpp:4237:12: warning: unused variable 'counter' [-Wunused-variable]
 4237 |  int       counter           = 0;
      |            ^~~~~~~
src\main.cpp: In function 'void handleLogin()':
src\main.cpp:4291:12: warning: unused variable 'bSize' [-Wunused-variable]
 4291 |  uint16_t  bSize             = 0;
      |            ^~~~~
src\main.cpp:4292:12: warning: unused variable 'bufferSize' [-Wunused-variable]
 4292 |  uint16_t  bufferSize        = 0;
      |            ^~~~~~~~~~
src\main.cpp:4293:12: warning: unused variable 'counter' [-Wunused-variable]
 4293 |  int       counter           = 0;
      |            ^~~~~~~
src\main.cpp: In function 'void handleSwitch()':
src\main.cpp:4377:12: warning: unused variable 'test' [-Wunused-variable]
 4377 |  char      test[20]      = {0};
      |            ^~~~
src\main.cpp:4378:12: warning: unused variable 'bufferSize' [-Wunused-variable]
 4378 |  uint16_t  bufferSize    = 0;
      |            ^~~~~~~~~~
src\main.cpp:4379:12: warning: unused variable 'bSize' [-Wunused-variable]
 4379 |  uint16_t  bSize         = 0;
      |            ^~~~~
src\main.cpp:4380:12: warning: unused variable 'timeStr' [-Wunused-variable]
 4380 |  char      timeStr[9];
      |            ^~~~~~~
src\main.cpp:4381:12: warning: unused variable 'counter' [-Wunused-variable]
 4381 |  uint16_t  counter       = 0;
      |            ^~~~~~~
src\main.cpp:4382:12: warning: unused variable 'nowTime' [-Wunused-variable]
 4382 |  time_t    nowTime       = now();
      |            ^~~~~~~
src\main.cpp: In function 'void handleRoot()':
src\main.cpp:4544:12: warning: unused variable 'test' [-Wunused-variable]
 4544 |  char      test[20]      = {0};
      |            ^~~~
src\main.cpp:4545:12: warning: unused variable 'bufferSize' [-Wunused-variable]
 4545 |  uint16_t  bufferSize    = 0;
      |            ^~~~~~~~~~
src\main.cpp:4546:12: warning: unused variable 'bSize' [-Wunused-variable]
 4546 |  uint16_t  bSize         = 0;
      |            ^~~~~
src\main.cpp:4548:12: warning: unused variable 'counter' [-Wunused-variable]
 4548 |  uint16_t  counter       = 0;
      |            ^~~~~~~
src\main.cpp: In function 'void setup()':
src\main.cpp:4940:12: warning: unused variable 'cnt' [-Wunused-variable]
 4940 |  int       cnt           = 0;              //  Counter
      |            ^~~
src\main.cpp:4941:12: warning: unused variable 'devCount' [-Wunused-variable]
 4941 |  int       devCount      = 0;
      |            ^~~~~~~~
src\main.cpp: In function 'void loop()':
src\main.cpp:5234:11: warning: unused variable 'loopCounter' [-Wunused-variable]
 5234 |  uint16_t loopCounter  = 0;
      |           ^~~~~~~~~~~
src\main.cpp:5235:11: warning: unused variable 'mqttmaxretry' [-Wunused-variable]
 5235 |  uint16_t mqttmaxretry = 5;
      |           ^~~~~~~~~~~~
In file included from C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer.h:340,
                 from src\main.cpp:11:
C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer-impl.h: In instantiation of 'void esp8266webserver::ESP8266WebServerTemplate<ServerType>::collectHeaders(const Args& ...) [with Args = {const char* [2], int}; ServerType = WiFiServer]':
src\main.cpp:2896:38:   required from here
C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer-impl.h:624:21: error: could not convert 'args#0' from 'const char* const [2]' to 'String'
  624 |   _currentHeaders = new RequestArgument[_headerKeysCount = sizeof...(args) + 2] {
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                     |
      |                     const char* const [2]
  625 |     { .key = FPSTR(AUTHORIZATION_HEADER), .value = emptyString },
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  626 |     { .key = FPSTR(ETAG_HEADER), .value = emptyString },
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  627 |     { .key = args, .value = emptyString } ...
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  628 |   };
      |   ~
C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer-impl.h:624:21: error: conversion from 'const int' to 'String' is ambiguous
In file included from C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:286,
                 from src\main.cpp:1:
C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/WString.h:59:9: note: candidate: 'String::String(const __FlashStringHelper*)' (near match)
   59 |         String(const __FlashStringHelper *str);
      |         ^~~~~~
C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/WString.h:59:9: note:   conversion of argument 1 would be ill-formed:
In file included from C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer.h:340,   
                 from src\main.cpp:11:
C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer-impl.h:624:21: error: invalid conversion from 'int' to 'const __FlashStringHelper*' [-fpermissive]
  624 |   _currentHeaders = new RequestArgument[_headerKeysCount = sizeof...(args) + 2] {
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                     |
      |                     int
  625 |     { .key = FPSTR(AUTHORIZATION_HEADER), .value = emptyString },
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  626 |     { .key = FPSTR(ETAG_HEADER), .value = emptyString },
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  627 |     { .key = args, .value = emptyString } ...
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  628 |   };
      |   ~
In file included from C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:286,
                 from src\main.cpp:1:
C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/WString.h:57:9: note: candidate: 'String::String(const char*)' (near match)
   57 |         String(const char *cstr);
      |         ^~~~~~
C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/WString.h:57:9: note:   conversion of argument 1 would be ill-formed:
In file included from C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer.h:340,   
                 from src\main.cpp:11:
C:\Users\MiKo\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer-impl.h:624:21: error: invalid conversion from 'int' to 'const char*' [-fpermissive]
  624 |   _currentHeaders = new RequestArgument[_headerKeysCount = sizeof...(args) + 2] {
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                     |
      |                     int
  625 |     { .key = FPSTR(AUTHORIZATION_HEADER), .value = emptyString },
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  626 |     { .key = FPSTR(ETAG_HEADER), .value = emptyString },
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  627 |     { .key = args, .value = emptyString } ...
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  628 |   };
      |   ~
src\main.cpp: In function 'bool readDHTSensor()':
src\main.cpp:2111:1: error: control reaches end of non-void function [-Werror=return-type]
 2111 | }
      | ^
src\main.cpp: In function 'bool owWriteDevData(int)':
src\main.cpp:2323:26: error: control reaches end of non-void function [-Werror=return-type]
 2323 |  String  dummy         = "         ";
      |                          ^~~~~~~~~~~
src\main.cpp: In function 'uint16_t getDataSize(int)':
src\main.cpp:2724:1: error: control reaches end of non-void function [-Werror=return-type]
 2724 | }
      | ^
cc1plus.exe: some warnings being treated as errors
*** [.pio\build\d1_mini_pro\src\main.cpp.o] Error 1
========================================================== [FAILED] Took 7.47 seconds ==========================================================
PS D:\Dokumente\PlatformIO\Projects\THP\THP-Sender_wPlug_092>

This is really weird. It must be something in the way the code is using the library. Can you share the code?

Here is the platformio.ini

; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:d1_mini_pro]
platform = espressif8266
board = d1_mini_pro
framework = arduino
monitor_port = COM4
monitor_speed = 115200
upload_port = COM4
lib_deps =
    ESP8266WebServer @ ^1.0
    werecatf/PCF8574_ESP@^1.0.10
    marcoschwartz/LiquidCrystal_I2C@^1.1.4
    arduino-libraries/NTPClient
    bblanchon/ArduinoJson@^6.17.2
    paulstoffregen/Time@^1.6.1
    links2004/WebSockets@^2.3.6
    gmag11/NtpClientLib@^3.0.2-beta
    knolleary/PubSubClient@^2.8
    paulstoffregen/OneWire@^2.3.6
    milesburton/DallasTemperature@^3.9.1
    adafruit/Adafruit BME280 Library@^2.2.1
    adafruit/Adafruit BusIO@^1.9.8
    adafruit/Adafruit GFX Library@^1.10.12
    adafruit/Adafruit Unified Sensor@^1.1.4
    adafruit/Adafruit ILI9341@^1.5.10
    adafruit/DHT sensor library@^1.4.3

lib_ignore =
    WiFi101
    TinyWireM

build_unflags =
    -std=gnu++11

build_flags =
    -std=c++17
    -D PIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
    -DDEBUG_ESP_PORT=Serial
    -DDEBUG_ESP_OTA

I can not provide the complete code, but is there more than the #includes that is responsible for library handling?

#include <Arduino.h>
//extern “C” {
// #include “user_interface.h”
//}
//#include “string”
#include “string.h”
#include <TimeLib.h>
// #include “time.h”
#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <ESP8266WebServer.h>
#include <WebSocketsServer.h>
#include <NtpClientLib.h>
#include <ArduinoOTA.h>
#include <PubSubClient.h>
#include <ArduinoJson.h>
#include <Hash.h>
#include <Wire.h>
#include <OneWire.h> // DALLAS
#include <DallasTemperature.h>
#include <Adafruit_Sensor.h>
#include <DHT.h> // Adafruit DHT sensor library
#include <DHT_U.h> // Adafruit DHT sensor library
#include <EEPROM.h>
#include <WiFiUdp.h>
#include <pcf8574_esp.h>
#include “LiquidCrystal_I2C.h”
#include <Adafruit_BME280.h>
#include “classes.h”
#include “varTypen.h”
#include “progmemVars.h”

using namespace std;

// WiFiEventHandler staGotIp_EventHandler, staDisconnected_EventHandler;
// define GPIO Pins
#define pin_i2cSCL 5 // D1 = I2C Clock
#define pin_i2cSDA 4 // D2 = I2C Data
#define pinDHTb 0 // D3 = DHT22 // *** does not work with GPIO 0
#define pinDHTa 2 // D4 = DHT22
#define pinDallas 14 // D5 = Dallas DS18B20 *** für Rolf ***
#define pinMotorCtl 12 // D6 = Motor Control
//#define pinNeopixel 13 // D7 = not used
#define pinTouch 15 // D8 = TouchSensor

What is this and the surrounding lines?

That’s inside void startWebServer().
Line 2896 is websvr.on ( “/info”, handleInfo );

void startWebServer() 
{
	//	function identification
	if ( debugMode >= 10 ) {
		Serial.print("[func]: ");
		Serial.println(__func__); 	
	}
	
	const char *  headerkeys[]    = {"User-Agent","Cookie"} ;
	size_t        headerkeyssize  = sizeof(headerkeys)/sizeof(char*);
	
	Serial.println("enter: startWEBSERVER");
	websvr.collectHeaders(headerkeys, 2 );
	
	websvr.onNotFound ( handleNotFound );
	websvr.on ( "/",  handleRoot );
	websvr.on ( "/info",  handleInfo ); //this line
	websvr.on ( "/login",  handleLogin );
	websvr.on ( "/cfgmenu", handleCfgMenu);
	websvr.on ( "/cfgclient", handleCfgClient);
	websvr.on ( "/cfgap", handleCfgAP);
	websvr.on ( "/cfgdef", handleCfgDefault);
	websvr.on ( "/cfgserver", handleCfgServer);
	websvr.on ( "/cfgmqtt", handleCfgMqtt);
	websvr.on ( "/cfgalert", handleCfgAlert);
	websvr.on ( "/cfgschedule",handleCfgSchedule);
	websvr.on ( "/cfgformat", handleFormat);
	websvr.on ( "/cfgreboot", handleRestart);
	websvr.on ( "/switchmanual", handleSwitch);
	websvr.on ( "/private/getMaintitle", ajGetMaintitle );
	websvr.on ( "/private/getSubtitle", ajGetSubtitle );
	websvr.on ( "/private/getPageTop", ajGetPageTop );
	//  changed due to https://github.com/esp8266/Arduino/pull/886
	//  websvr.collectHeaders(headerkeys, headerkeyssize );
	websvr.begin();
	// Serial.println( String(websvr.status()) );
}

void handleInfo()

void handleInfo() 
{
	char        pBuff[2500]       = {0};
	uint16_t    bSize             = 0;
	uint16_t    bufferSize        = 0;
	uint16_t    counter           = 0;
	float       internalTemp      = 0;
	float       internalT2        = 0;
	float       internalHumi      = 0;
	char        intTempStr[7]     = {0};
	char        intT2Str[7]       = {0};
	char        intHumiStr[7]     = {0};
	char        temp[7]           = "";
	char        tempMin[7]        = "";
	char        tempMax[7]        = "";
	char        humi[7]           = "";
	char        humiMin[7]        = "";
	char        humiMax[7]        = "";
	uint8_t     staMacAddr[6];
	uint8_t     apMacAddr[6];
	int         softap_stations_cnt;
	
	station_info *stat_info;
	ipv4_addr *IPAddress; 
	uint32_t    uintscanAddr;
	
	//  DEBUG_MSG("ENTER FUNC:  webserver: handleInfo\n");  
	if ( debugMode >= 5 ) srvArgsToSerial();

	//  DALLAS
	//	owDallas.requestTemperatures();
	//	internalTemp    = owDallas.getTempC(owSensor[0].devAddr);
	
	//  convert sensor values from float to string
	dtostrf( lastTemp, 3, 1, temp);
	dtostrf( lastHumi, 3, 1, humi);
	dtostrf( humiMinResult, 3, 1, humiMin);
	dtostrf( humiMaxResult, 3, 1, humiMax);
	dtostrf( tempMinResult, 3, 1, tempMin);
	dtostrf( tempMaxResult, 3, 1, tempMax);
	dtostrf( internalTemp, 3, 1, intTempStr);
	dtostrf( internalT2, 3, 1, intT2Str);
	dtostrf( internalHumi, 3, 1, intHumiStr);

	//  start sending HTML page
	beginHtmlPageTransmission();
	
	strcpy( pBuff , "<div class='divCONT'>");
	strcat( pBuff , "<h2 class='fontTitle'>Info</h2>");
	
	// Global 
	strcat( pBuff , "<fieldset class='fontFieldset' style='margin-top: 10px;'><legend>System</legend>");
	strcat( pBuff , "<br>" ); 
	strcat( pBuff , "<table>");
	strcat( pBuff , "<tr><td>Hardware</td><td>&nbsp;</td><td>" );
	strcat( pBuff , "esp8266ex" );
	strcat( pBuff , "</td></tr>");
	strcat( pBuff , "<tr><td>Software Version</td><td>&nbsp;</td><td>" );
	strcat( pBuff , String(swVersion).c_str() );
	strcat( pBuff , "</td></tr>");

  ...

Well as soon as I add this into my sketch it also gives me a ton of compiler errors, the same as yours.

The code says

and the problem here is that the way you call the function it is confused which templated function to call. It tries to do the second one by treating both arguments as an int then fails at conversion.

What you need to do is just replace the line

with

	websvr.collectHeaders(headerkeys, headerkeyssize);

then it knows to call the const char* arg[], const size_t version of the function.

Or, instead of

Just

	websvr.collectHeaders("User-Agent", "Cookie");

to use the second function version.

That fixed the problem!
Thank you very much!!!

But now there is another error:

.pio\libdeps\d1_mini_pro\NtpClientLib\src\NtpClientLib.cpp: In static member function ‘static void NTPClient::s_processRequestTimeout(void*)’:
.pio\libdeps\d1_mini_pro\NtpClientLib\src\NtpClientLib.cpp:431:34: warning: ‘void NTPClient::processRequestTimeout()’ is deprecated: Use IRAM_ATTR in place of ICACHE_RAM_ATTR to move functions into IRAM [-Wdeprecated-declarations]
431 | self->processRequestTimeout ();
| ^
.pio\libdeps\d1_mini_pro\NtpClientLib\src\NtpClientLib.cpp:420:22: note: declared here
420 | void ICACHE_RAM_ATTR NTPClient::processRequestTimeout () {
| ^~~~~~~~~
***** [.pio\build\d1_mini_pro\lib5f8\NtpClientLib\NTPClientLib.cpp.o] Error 1**
src\main.cpp: In function ‘bool pcfSwitchRelais(uint8_t, uint8_t)’:
src\main.cpp:483:8: warning: variable ‘istStatus’ set but not used [-Wunused-but-set-variable]
483 | bool istStatus;
| ^~~~~~~~~
src\main.cpp:484:7: warning: unused variable ‘xtopic’ [-Wunused-variable]
484 | char xtopic[65];
| ^~~~~~

Is there a workaround for the “byte” errors, or do I need to manually change the arduino.h

The very latest code now uses IRAM_ATTR

but sadly there’s no updated library version in https://platformio.org/lib/show/727/NtpClientLib/installation. So you’re going to have to replace

    gmag11/NtpClientLib@^3.0.2-beta

with the git download link, e.g.,

    https://github.com/gmag11/NtpClient/archive/refs/heads/master.zip

Or, as the README at GitHub - gmag11/NtpClient: NTP client libary for sync ESP8266 time via WiFi says, switch to his new library, https://platformio.org/lib/show/11490/ESPNtpClient/installation (probably needs code adaption?).

Perfect!
Thank you for all the great help!