I'm unable to compile my sketch on PlatformIO 6.1.4, with ESP8266 4.0.1.
Same thing on Arduino IDE 2.0.0 (with ESP8266 3.0.2). Same thing using the latest commit on the develop branch, and with the latest release as well.
Error
```
In file included from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Helpers.hpp:5,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Validation.hpp:6,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Config.hpp:13,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/Interface.hpp:7,
from .pio\libdeps\proxsens_server\Homie\src/Homie.hpp:6,
from .pio\libdeps\proxsens_server\Homie\src/Homie.h:4,
from src\main.cpp:4:
.pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp: In instantiation of 'Print& operator<<(Print&, T) [with T = HomieInternals::Property*]':
Compiling .pio\build\proxsens_server\lib69d\AsyncMqttClient\AsyncMqttClient\Packets\ConnAckPacket.cpp.o
src\main.cpp:240:51: required from here
.pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp:5:15: error: no matching function for call to 'print(HomieInternals::Property*&)'
5 | { stream.print(arg); return stream; }
| ~~~~~~~~~~~~^~~~~
```
`no matching function for call to 'print(HomieInternals::Property*&)'`
`invalid conversion from 'HomieInternals::Property*' to 'long long unsigned int' [-fpermissive]`
Complete Output
```
Processing proxsens_server (platform: espressif8266; board: esp07s; framework: arduino)
---------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/esp07s.html
PLATFORM: Espressif 8266 (4.0.1) > Espressif Generic ESP8266 ESP-07S
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 42 compatible libraries
Scanning dependencies...
Dependency Graph
|-- ESP8266 and ESP32 OLED driver for SSD1306 displays @ 4.3.0
| |-- Wire @ 1.0
|-- Homie @ 3.0.1
| |-- ArduinoJson @ 6.11.5
| |-- AsyncMqttClient @ 0.8.2
| | |-- ESPAsyncTCP @ 1.2.0
| |-- Bounce2 @ 2.71.0
| |-- ESP Async WebServer @ 1.2.3
| | |-- ESPAsyncTCP @ 1.2.0
| | |-- Hash @ 1.0
| | |-- ESP8266WiFi @ 1.0
| |-- Ticker @ 1.0
| |-- ESP8266WiFi @ 1.0
| |-- DNSServer @ 1.1.1
| | |-- ESP8266WiFi @ 1.0
| |-- ESP8266HTTPClient @ 1.2
| | |-- ESP8266WiFi @ 1.0
| |-- ESPAsyncTCP @ 1.2.0
| |-- ESP8266mDNS @ 1.2
| | |-- ESP8266WiFi @ 1.0
|-- Wire @ 1.0
Building in release mode
Compiling .pio\build\proxsens_server\src\main.cpp.o
Generating LD script .pio\build\proxsens_server\ld\local.eagle.app.v6.common.ld
Compiling .pio\build\proxsens_server\libf21\Wire\Wire.cpp.o
Compiling .pio\build\proxsens_server\lib169\ESP8266 and ESP32 OLED driver for SSD1306 displays\OLEDDisplay.cpp.o
Compiling .pio\build\proxsens_server\lib169\ESP8266 and ESP32 OLED driver for SSD1306 displays\OLEDDisplayUi.cpp.o
Archiving .pio\build\proxsens_server\libf21\libWire.a
Indexing .pio\build\proxsens_server\libf21\libWire.a
Compiling .pio\build\proxsens_server\libebf\ESPAsyncTCP\AsyncPrinter.cpp.o
Compiling .pio\build\proxsens_server\libebf\ESPAsyncTCP\ESPAsyncTCP.cpp.o
Archiving .pio\build\proxsens_server\lib169\libESP8266 and ESP32 OLED driver for SSD1306 displays.a
Indexing .pio\build\proxsens_server\lib169\libESP8266 and ESP32 OLED driver for SSD1306 displays.a
Compiling .pio\build\proxsens_server\libebf\ESPAsyncTCP\ESPAsyncTCPbuffer.cpp.o
.pio\libdeps\proxsens_server\ESPAsyncTCP\src\ESPAsyncTCP.cpp: In member function 'err_t AsyncClient::_sent(tcp_pcb*, uint16_t)':
.pio\libdeps\proxsens_server\ESPAsyncTCP\src\ESPAsyncTCP.cpp:380:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
380 | if(_sent_cb)
| ^~
.pio\libdeps\proxsens_server\ESPAsyncTCP\src\ESPAsyncTCP.cpp:382:7: note: ...this statement, but the latter is misleadingly indented as if it were
guarded by the 'if'
382 | _tx_acked_len = 0;
| ^~~~~~~~~~~~~
Compiling .pio\build\proxsens_server\libebf\ESPAsyncTCP\SyncClient.cpp.o
Compiling .pio\build\proxsens_server\libebf\ESPAsyncTCP\tcp_axtls.c.o
cc1.exe: warning: command-line option '-fpermissive' is valid for C++/ObjC++ but not for C
Compiling .pio\build\proxsens_server\lib69d\AsyncMqttClient\AsyncMqttClient.cpp.o
In file included from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Helpers.hpp:5,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Validation.hpp:6,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Config.hpp:13,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/Interface.hpp:7,
from .pio\libdeps\proxsens_server\Homie\src/Homie.hpp:6,
from .pio\libdeps\proxsens_server\Homie\src/Homie.h:4,
from src\main.cpp:4:
.pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp: In instantiation of 'Print& operator<<(Print&, T) [with T = HomieInternals::Property*]':
Compiling .pio\build\proxsens_server\lib69d\AsyncMqttClient\AsyncMqttClient\Packets\ConnAckPacket.cpp.o
src\main.cpp:240:51: required from here
.pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp:5:15: error: no matching function for call to 'print(HomieInternals::Property*&)'
5 | { stream.print(arg); return stream; }
| ~~~~~~~~~~~~^~~~~
In file included from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:27,
from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32,
from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288,
from src\main.cpp:3:
C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:87:16: note: candidate: 'size_t Print::print(char)' (near match)
87 | size_t print(char);
| ^~~~~
C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:87:16: note: conversion of argument 1 would be ill-formed:
In file included from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Helpers.hpp:5,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Validation.hpp:6,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Config.hpp:13,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/Interface.hpp:7,
from .pio\libdeps\proxsens_server\Homie\src/Homie.hpp:6,
from .pio\libdeps\proxsens_server\Homie\src/Homie.h:4,
from src\main.cpp:4:
.pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp:5:16: warning: invalid conversion from 'HomieInternals::Property*' to 'char' [-fpermissive]
5 | { stream.print(arg); return stream; }
| ^~~
| |
| HomieInternals::Property*
In file included from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:27,
from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32,
from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288,
from src\main.cpp:3:
C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:88:16: note: candidate: 'size_t Print::print(unsigned char, int)' (near match)
88 | size_t print(unsigned char, int = DEC);
| ^~~~~
C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:88:16: note: conversion of argument 1 would be ill-formed:
Archiving .pio\build\proxsens_server\libebf\libESPAsyncTCP.a
In file included from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Helpers.hpp:5,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Validation.hpp:6,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Config.hpp:13,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/Interface.hpp:7,
Indexing .pio\build\proxsens_server\libebf\libESPAsyncTCP.a
from .pio\libdeps\proxsens_server\Homie\src/Homie.hpp:6,
from .pio\libdeps\proxsens_server\Homie\src/Homie.h:4,
from src\main.cpp:4:
.pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp:5:16: warning: invalid conversion from 'HomieInternals::Property*' to 'unsigned char' [-fpermissive]
5 | { stream.print(arg); return stream; }
| ^~~
Compiling .pio\build\proxsens_server\lib69d\AsyncMqttClient\AsyncMqttClient\Packets\PingRespPacket.cpp.o
| |
| HomieInternals::Property*
In file included from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:27,
from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32,
from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288,
from src\main.cpp:3:
C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:89:16: note: candidate: 'size_t Print::print(int, int)' (near match)
89 | size_t print(int, int = DEC);
| ^~~~~
C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:89:16: note: conversion of argument 1 would be ill-formed:
In file included from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Helpers.hpp:5,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Validation.hpp:6,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Config.hpp:13,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/Interface.hpp:7,
from .pio\libdeps\proxsens_server\Homie\src/Homie.hpp:6,
from .pio\libdeps\proxsens_server\Homie\src/Homie.h:4,
Compiling .pio\build\proxsens_server\lib69d\AsyncMqttClient\AsyncMqttClient\Packets\PubAckPacket.cpp.o
from src\main.cpp:4:
.pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp:5:16: warning: invalid conversion from 'HomieInternals::Property*' to 'int' [-fpermissive]
5 | { stream.print(arg); return stream; }
| ^~~
| |
| HomieInternals::Property*
In file included from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:27,
from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32,
from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288,
from src\main.cpp:3:
C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:90:16: note: candidate: 'size_t Print::print(unsigned int, int)' (near match)
90 | size_t print(unsigned int, int = DEC);
| ^~~~~
C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:90:16: note: conversion of argument 1 would be ill-formed:
In file included from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Helpers.hpp:5,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Validation.hpp:6,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Config.hpp:13,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/Interface.hpp:7,
from .pio\libdeps\proxsens_server\Homie\src/Homie.hpp:6,
from .pio\libdeps\proxsens_server\Homie\src/Homie.h:4,
from src\main.cpp:4:
.pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp:5:16: warning: invalid conversion from 'HomieInternals::Property*' to 'unsigned int' [-fpermissive]
5 | { stream.print(arg); return stream; }
| ^~~
| |
| HomieInternals::Property*
In file included from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:27,
from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32,
from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288,
from src\main.cpp:3:
C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:91:16: note: candidate: 'size_t Print::print(long int, int)' (near match)
91 | size_t print(long, int = DEC);
| ^~~~~
C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:91:16: note: conversion of argument 1 would be ill-formed:
In file included from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Helpers.hpp:5,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Validation.hpp:6,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Config.hpp:13,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/Interface.hpp:7,
from .pio\libdeps\proxsens_server\Homie\src/Homie.hpp:6,
from .pio\libdeps\proxsens_server\Homie\src/Homie.h:4,
from src\main.cpp:4:
.pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp:5:16: warning: invalid conversion from 'HomieInternals::Property*' to 'long int' [-fpermissive]
5 | { stream.print(arg); return stream; }
| ^~~
| |
| HomieInternals::Property*
In file included from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:27,
from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32,
Compiling .pio\build\proxsens_server\lib69d\AsyncMqttClient\AsyncMqttClient\Packets\PubCompPacket.cpp.o
from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288,
from src\main.cpp:3:
C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:92:16: note: candidate: 'size_t Print::print(long unsigned int, int)' (near match)
92 | size_t print(unsigned long, int = DEC);
| ^~~~~
C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:92:16: note: conversion of argument 1 would be ill-formed:
In file included from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Helpers.hpp:5,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Validation.hpp:6,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Config.hpp:13,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/Interface.hpp:7,
from .pio\libdeps\proxsens_server\Homie\src/Homie.hpp:6,
Compiling .pio\build\proxsens_server\lib69d\AsyncMqttClient\AsyncMqttClient\Packets\PubRecPacket.cpp.o
from .pio\libdeps\proxsens_server\Homie\src/Homie.h:4,
from src\main.cpp:4:
.pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp:5:16: warning: invalid conversion from 'HomieInternals::Property*' to 'long unsigned int' [-fpermissive]
5 | { stream.print(arg); return stream; }
| ^~~
| |
| HomieInternals::Property*
In file included from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:27,
from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32,
from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288,
from src\main.cpp:3:
C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:93:16: note: candidate: 'size_t Print::print(long long int, int)' (near match)
93 | size_t print(long long, int = DEC);
| ^~~~~
C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:93:16: note: conversion of argument 1 would be ill-formed:
In file included from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Helpers.hpp:5,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Validation.hpp:6,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Config.hpp:13,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/Interface.hpp:7,
from .pio\libdeps\proxsens_server\Homie\src/Homie.hpp:6,
from .pio\libdeps\proxsens_server\Homie\src/Homie.h:4,
from src\main.cpp:4:
.pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp:5:16: warning: invalid conversion from 'HomieInternals::Property*' to 'long long int' [-fpermissive]
5 | { stream.print(arg); return stream; }
| ^~~
| |
| HomieInternals::Property*
Compiling .pio\build\proxsens_server\lib69d\AsyncMqttClient\AsyncMqttClient\Packets\PubRelPacket.cpp.o
In file included from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:27,
from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32,
from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288,
from src\main.cpp:3:
C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:94:16: note: candidate: 'size_t Print::print(long long unsigned int, int)' (near match)
94 | size_t print(unsigned long long, int = DEC);
| ^~~~~
C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:94:16: note: conversion of argument 1 would be ill-formed:
In file included from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Helpers.hpp:5,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Validation.hpp:6,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Config.hpp:13,
from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/Interface.hpp:7,
from .pio\libdeps\proxsens_server\Homie\src/Homie.hpp:6,
from .pio\libdeps\proxsens_server\Homie\src/Homie.h:4,
from src\main.cpp:4:
.pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp:5:16: warning: invalid conversion from 'HomieInternals::Property*' to 'long long unsigned int' [-fpermissive]
5 | { stream.print(arg); return stream; }
| ^~~
| |
| HomieInternals::Property*
*** [.pio\build\proxsens_server\src\main.cpp.o] Error 1
=========================================================== [FAILED] Took 26.50 seconds ===========================================================
```
Apparently, the code causing this issue is from StreamingOperator.hpp, line 5 :
Hi,
I'm unable to compile my sketch on PlatformIO 6.1.4, with ESP8266 4.0.1. Same thing on Arduino IDE 2.0.0 (with ESP8266 3.0.2). Same thing using the latest commit on the develop branch, and with the latest release as well.
Error
``` In file included from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Helpers.hpp:5, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Validation.hpp:6, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Config.hpp:13, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/Interface.hpp:7, from .pio\libdeps\proxsens_server\Homie\src/Homie.hpp:6, from .pio\libdeps\proxsens_server\Homie\src/Homie.h:4, from src\main.cpp:4: .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp: In instantiation of 'Print& operator<<(Print&, T) [with T = HomieInternals::Property*]': Compiling .pio\build\proxsens_server\lib69d\AsyncMqttClient\AsyncMqttClient\Packets\ConnAckPacket.cpp.o src\main.cpp:240:51: required from here .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp:5:15: error: no matching function for call to 'print(HomieInternals::Property*&)' 5 | { stream.print(arg); return stream; } | ~~~~~~~~~~~~^~~~~ ``` `no matching function for call to 'print(HomieInternals::Property*&)'` `invalid conversion from 'HomieInternals::Property*' to 'long long unsigned int' [-fpermissive]`Complete Output
``` Processing proxsens_server (platform: espressif8266; board: esp07s; framework: arduino) ---------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/esp07s.html PLATFORM: Espressif 8266 (4.0.1) > Espressif Generic ESP8266 ESP-07S 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 42 compatible libraries Scanning dependencies... Dependency Graph |-- ESP8266 and ESP32 OLED driver for SSD1306 displays @ 4.3.0 | |-- Wire @ 1.0 |-- Homie @ 3.0.1 | |-- ArduinoJson @ 6.11.5 | |-- AsyncMqttClient @ 0.8.2 | | |-- ESPAsyncTCP @ 1.2.0 | |-- Bounce2 @ 2.71.0 | |-- ESP Async WebServer @ 1.2.3 | | |-- ESPAsyncTCP @ 1.2.0 | | |-- Hash @ 1.0 | | |-- ESP8266WiFi @ 1.0 | |-- Ticker @ 1.0 | |-- ESP8266WiFi @ 1.0 | |-- DNSServer @ 1.1.1 | | |-- ESP8266WiFi @ 1.0 | |-- ESP8266HTTPClient @ 1.2 | | |-- ESP8266WiFi @ 1.0 | |-- ESPAsyncTCP @ 1.2.0 | |-- ESP8266mDNS @ 1.2 | | |-- ESP8266WiFi @ 1.0 |-- Wire @ 1.0 Building in release mode Compiling .pio\build\proxsens_server\src\main.cpp.o Generating LD script .pio\build\proxsens_server\ld\local.eagle.app.v6.common.ld Compiling .pio\build\proxsens_server\libf21\Wire\Wire.cpp.o Compiling .pio\build\proxsens_server\lib169\ESP8266 and ESP32 OLED driver for SSD1306 displays\OLEDDisplay.cpp.o Compiling .pio\build\proxsens_server\lib169\ESP8266 and ESP32 OLED driver for SSD1306 displays\OLEDDisplayUi.cpp.o Archiving .pio\build\proxsens_server\libf21\libWire.a Indexing .pio\build\proxsens_server\libf21\libWire.a Compiling .pio\build\proxsens_server\libebf\ESPAsyncTCP\AsyncPrinter.cpp.o Compiling .pio\build\proxsens_server\libebf\ESPAsyncTCP\ESPAsyncTCP.cpp.o Archiving .pio\build\proxsens_server\lib169\libESP8266 and ESP32 OLED driver for SSD1306 displays.a Indexing .pio\build\proxsens_server\lib169\libESP8266 and ESP32 OLED driver for SSD1306 displays.a Compiling .pio\build\proxsens_server\libebf\ESPAsyncTCP\ESPAsyncTCPbuffer.cpp.o .pio\libdeps\proxsens_server\ESPAsyncTCP\src\ESPAsyncTCP.cpp: In member function 'err_t AsyncClient::_sent(tcp_pcb*, uint16_t)': .pio\libdeps\proxsens_server\ESPAsyncTCP\src\ESPAsyncTCP.cpp:380:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation] 380 | if(_sent_cb) | ^~ .pio\libdeps\proxsens_server\ESPAsyncTCP\src\ESPAsyncTCP.cpp:382:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' 382 | _tx_acked_len = 0; | ^~~~~~~~~~~~~ Compiling .pio\build\proxsens_server\libebf\ESPAsyncTCP\SyncClient.cpp.o Compiling .pio\build\proxsens_server\libebf\ESPAsyncTCP\tcp_axtls.c.o cc1.exe: warning: command-line option '-fpermissive' is valid for C++/ObjC++ but not for C Compiling .pio\build\proxsens_server\lib69d\AsyncMqttClient\AsyncMqttClient.cpp.o In file included from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Helpers.hpp:5, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Validation.hpp:6, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Config.hpp:13, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/Interface.hpp:7, from .pio\libdeps\proxsens_server\Homie\src/Homie.hpp:6, from .pio\libdeps\proxsens_server\Homie\src/Homie.h:4, from src\main.cpp:4: .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp: In instantiation of 'Print& operator<<(Print&, T) [with T = HomieInternals::Property*]': Compiling .pio\build\proxsens_server\lib69d\AsyncMqttClient\AsyncMqttClient\Packets\ConnAckPacket.cpp.o src\main.cpp:240:51: required from here .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp:5:15: error: no matching function for call to 'print(HomieInternals::Property*&)' 5 | { stream.print(arg); return stream; } | ~~~~~~~~~~~~^~~~~ In file included from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:27, from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32, from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288, from src\main.cpp:3: C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:87:16: note: candidate: 'size_t Print::print(char)' (near match) 87 | size_t print(char); | ^~~~~ C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:87:16: note: conversion of argument 1 would be ill-formed: In file included from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Helpers.hpp:5, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Validation.hpp:6, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Config.hpp:13, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/Interface.hpp:7, from .pio\libdeps\proxsens_server\Homie\src/Homie.hpp:6, from .pio\libdeps\proxsens_server\Homie\src/Homie.h:4, from src\main.cpp:4: .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp:5:16: warning: invalid conversion from 'HomieInternals::Property*' to 'char' [-fpermissive] 5 | { stream.print(arg); return stream; } | ^~~ | | | HomieInternals::Property* In file included from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:27, from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32, from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288, from src\main.cpp:3: C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:88:16: note: candidate: 'size_t Print::print(unsigned char, int)' (near match) 88 | size_t print(unsigned char, int = DEC); | ^~~~~ C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:88:16: note: conversion of argument 1 would be ill-formed: Archiving .pio\build\proxsens_server\libebf\libESPAsyncTCP.a In file included from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Helpers.hpp:5, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Validation.hpp:6, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Config.hpp:13, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/Interface.hpp:7, Indexing .pio\build\proxsens_server\libebf\libESPAsyncTCP.a from .pio\libdeps\proxsens_server\Homie\src/Homie.hpp:6, from .pio\libdeps\proxsens_server\Homie\src/Homie.h:4, from src\main.cpp:4: .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp:5:16: warning: invalid conversion from 'HomieInternals::Property*' to 'unsigned char' [-fpermissive] 5 | { stream.print(arg); return stream; } | ^~~ Compiling .pio\build\proxsens_server\lib69d\AsyncMqttClient\AsyncMqttClient\Packets\PingRespPacket.cpp.o | | | HomieInternals::Property* In file included from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:27, from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32, from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288, from src\main.cpp:3: C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:89:16: note: candidate: 'size_t Print::print(int, int)' (near match) 89 | size_t print(int, int = DEC); | ^~~~~ C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:89:16: note: conversion of argument 1 would be ill-formed: In file included from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Helpers.hpp:5, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Validation.hpp:6, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Config.hpp:13, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/Interface.hpp:7, from .pio\libdeps\proxsens_server\Homie\src/Homie.hpp:6, from .pio\libdeps\proxsens_server\Homie\src/Homie.h:4, Compiling .pio\build\proxsens_server\lib69d\AsyncMqttClient\AsyncMqttClient\Packets\PubAckPacket.cpp.o from src\main.cpp:4: .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp:5:16: warning: invalid conversion from 'HomieInternals::Property*' to 'int' [-fpermissive] 5 | { stream.print(arg); return stream; } | ^~~ | | | HomieInternals::Property* In file included from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:27, from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32, from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288, from src\main.cpp:3: C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:90:16: note: candidate: 'size_t Print::print(unsigned int, int)' (near match) 90 | size_t print(unsigned int, int = DEC); | ^~~~~ C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:90:16: note: conversion of argument 1 would be ill-formed: In file included from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Helpers.hpp:5, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Validation.hpp:6, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Config.hpp:13, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/Interface.hpp:7, from .pio\libdeps\proxsens_server\Homie\src/Homie.hpp:6, from .pio\libdeps\proxsens_server\Homie\src/Homie.h:4, from src\main.cpp:4: .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp:5:16: warning: invalid conversion from 'HomieInternals::Property*' to 'unsigned int' [-fpermissive] 5 | { stream.print(arg); return stream; } | ^~~ | | | HomieInternals::Property* In file included from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:27, from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32, from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288, from src\main.cpp:3: C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:91:16: note: candidate: 'size_t Print::print(long int, int)' (near match) 91 | size_t print(long, int = DEC); | ^~~~~ C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:91:16: note: conversion of argument 1 would be ill-formed: In file included from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Helpers.hpp:5, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Validation.hpp:6, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Config.hpp:13, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/Interface.hpp:7, from .pio\libdeps\proxsens_server\Homie\src/Homie.hpp:6, from .pio\libdeps\proxsens_server\Homie\src/Homie.h:4, from src\main.cpp:4: .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp:5:16: warning: invalid conversion from 'HomieInternals::Property*' to 'long int' [-fpermissive] 5 | { stream.print(arg); return stream; } | ^~~ | | | HomieInternals::Property* In file included from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:27, from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32, Compiling .pio\build\proxsens_server\lib69d\AsyncMqttClient\AsyncMqttClient\Packets\PubCompPacket.cpp.o from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288, from src\main.cpp:3: C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:92:16: note: candidate: 'size_t Print::print(long unsigned int, int)' (near match) 92 | size_t print(unsigned long, int = DEC); | ^~~~~ C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:92:16: note: conversion of argument 1 would be ill-formed: In file included from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Helpers.hpp:5, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Validation.hpp:6, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Config.hpp:13, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/Interface.hpp:7, from .pio\libdeps\proxsens_server\Homie\src/Homie.hpp:6, Compiling .pio\build\proxsens_server\lib69d\AsyncMqttClient\AsyncMqttClient\Packets\PubRecPacket.cpp.o from .pio\libdeps\proxsens_server\Homie\src/Homie.h:4, from src\main.cpp:4: .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp:5:16: warning: invalid conversion from 'HomieInternals::Property*' to 'long unsigned int' [-fpermissive] 5 | { stream.print(arg); return stream; } | ^~~ | | | HomieInternals::Property* In file included from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:27, from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32, from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288, from src\main.cpp:3: C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:93:16: note: candidate: 'size_t Print::print(long long int, int)' (near match) 93 | size_t print(long long, int = DEC); | ^~~~~ C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:93:16: note: conversion of argument 1 would be ill-formed: In file included from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Helpers.hpp:5, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Validation.hpp:6, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Config.hpp:13, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/Interface.hpp:7, from .pio\libdeps\proxsens_server\Homie\src/Homie.hpp:6, from .pio\libdeps\proxsens_server\Homie\src/Homie.h:4, from src\main.cpp:4: .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp:5:16: warning: invalid conversion from 'HomieInternals::Property*' to 'long long int' [-fpermissive] 5 | { stream.print(arg); return stream; } | ^~~ | | | HomieInternals::Property* Compiling .pio\build\proxsens_server\lib69d\AsyncMqttClient\AsyncMqttClient\Packets\PubRelPacket.cpp.o In file included from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Stream.h:27, from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/HardwareSerial.h:32, from C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Arduino.h:288, from src\main.cpp:3: C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:94:16: note: candidate: 'size_t Print::print(long long unsigned int, int)' (near match) 94 | size_t print(unsigned long long, int = DEC); | ^~~~~ C:\Users\Martin\.platformio\packages\framework-arduinoespressif8266\cores\esp8266/Print.h:94:16: note: conversion of argument 1 would be ill-formed: In file included from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Helpers.hpp:5, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/Validation.hpp:6, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Config.hpp:13, from .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/Interface.hpp:7, from .pio\libdeps\proxsens_server\Homie\src/Homie.hpp:6, from .pio\libdeps\proxsens_server\Homie\src/Homie.h:4, from src\main.cpp:4: .pio\libdeps\proxsens_server\Homie\src/Homie/Datatypes/../Utils/../../StreamingOperator.hpp:5:16: warning: invalid conversion from 'HomieInternals::Property*' to 'long long unsigned int' [-fpermissive] 5 | { stream.print(arg); return stream; } | ^~~ | | | HomieInternals::Property* *** [.pio\build\proxsens_server\src\main.cpp.o] Error 1 =========================================================== [FAILED] Took 26.50 seconds =========================================================== ```Apparently, the code causing this issue is from
StreamingOperator.hpp
, line 5 :