Wifimanager: Compilation issue

Created on 9 Nov 2018  路  7Comments  路  Source: tzapu/WiFiManager

Hi All

I would like to use some example in this code, but when Iam tring to compile I getting this error, how can I resolve this issue ? Is this because Iam using 2.4.2\libraries ??? Is not backward compatibile ? How can I use ?

Thx fror you answer.

Arduino: 1.8.5 (Windows 10), Board: "Generic ESP8266 Module, 80 MHz, Flash, ck, 26 MHz, 40MHz, QIO, 4M (1M SPIFFS), 2, v2 Lower Memory, Disabled, None, Sketch + WiFi Settings, 115200"

D:\uC\libraries\WiFiManager\WiFiManager.cpp: In member function 'void WiFiManager::setupConfigPortal()':

D:\uC\libraries\WiFiManager\WiFiManager.cpp:146:71: error: no matching function for call to 'ESP8266WebServer::on(String, std::_Bind_helper::type)'

server->on(String(F("/")), std::bind(&WiFiManager::handleRoot, this));

                                                                   ^

D:\uC\libraries\WiFiManager\WiFiManager.cpp:146:71: note: candidates are:

In file included from D:\uC\libraries\WiFiManager\WiFiManager.h:17:0,

             from D:\uC\libraries\WiFiManager\WiFiManager.cpp:13:

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:79:8: note: void ESP8266WebServer::on(const char*, ESP8266WebServer::THandlerFunction)

void on(const char* uri, THandlerFunction handler);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:79:8: note: no known conversion for argument 1 from 'String' to 'const char*'

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:80:8: note: void ESP8266WebServer::on(const char*, HTTPMethod, ESP8266WebServer::THandlerFunction)

void on(const char* uri, HTTPMethod method, THandlerFunction fn);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:80:8: note: candidate expects 3 arguments, 2 provided

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:81:8: note: void ESP8266WebServer::on(const char*, HTTPMethod, ESP8266WebServer::THandlerFunction, ESP8266WebServer::THandlerFunction)

void on(const char* uri, HTTPMethod method, THandlerFunction fn, THandlerFunction ufn);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:81:8: note: candidate expects 4 arguments, 2 provided

D:\uC\libraries\WiFiManager\WiFiManager.cpp:147:81: error: no matching function for call to 'ESP8266WebServer::on(String, std::_Bind_helper::type)'

server->on(String(F("/wifi")), std::bind(&WiFiManager::handleWifi, this, true));

                                                                             ^

D:\uC\libraries\WiFiManager\WiFiManager.cpp:147:81: note: candidates are:

In file included from D:\uC\libraries\WiFiManager\WiFiManager.h:17:0,

             from D:\uC\libraries\WiFiManager\WiFiManager.cpp:13:

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:79:8: note: void ESP8266WebServer::on(const char*, ESP8266WebServer::THandlerFunction)

void on(const char* uri, THandlerFunction handler);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:79:8: note: no known conversion for argument 1 from 'String' to 'const char*'

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:80:8: note: void ESP8266WebServer::on(const char*, HTTPMethod, ESP8266WebServer::THandlerFunction)

void on(const char* uri, HTTPMethod method, THandlerFunction fn);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:80:8: note: candidate expects 3 arguments, 2 provided

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:81:8: note: void ESP8266WebServer::on(const char*, HTTPMethod, ESP8266WebServer::THandlerFunction, ESP8266WebServer::THandlerFunction)

void on(const char* uri, HTTPMethod method, THandlerFunction fn, THandlerFunction ufn);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:81:8: note: candidate expects 4 arguments, 2 provided

D:\uC\libraries\WiFiManager\WiFiManager.cpp:148:83: error: no matching function for call to 'ESP8266WebServer::on(String, std::_Bind_helper::type)'

server->on(String(F("/0wifi")), std::bind(&WiFiManager::handleWifi, this, false));

                                                                               ^

D:\uC\libraries\WiFiManager\WiFiManager.cpp:148:83: note: candidates are:

In file included from D:\uC\libraries\WiFiManager\WiFiManager.h:17:0,

             from D:\uC\libraries\WiFiManager\WiFiManager.cpp:13:

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:79:8: note: void ESP8266WebServer::on(const char*, ESP8266WebServer::THandlerFunction)

void on(const char* uri, THandlerFunction handler);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:79:8: note: no known conversion for argument 1 from 'String' to 'const char*'

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:80:8: note: void ESP8266WebServer::on(const char*, HTTPMethod, ESP8266WebServer::THandlerFunction)

void on(const char* uri, HTTPMethod method, THandlerFunction fn);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:80:8: note: candidate expects 3 arguments, 2 provided

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:81:8: note: void ESP8266WebServer::on(const char*, HTTPMethod, ESP8266WebServer::THandlerFunction, ESP8266WebServer::THandlerFunction)

void on(const char* uri, HTTPMethod method, THandlerFunction fn, THandlerFunction ufn);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:81:8: note: candidate expects 4 arguments, 2 provided

D:\uC\libraries\WiFiManager\WiFiManager.cpp:149:83: error: no matching function for call to 'ESP8266WebServer::on(String, std::_Bind_helper::type)'

server->on(String(F("/wifisave")), std::bind(&WiFiManager::handleWifiSave, this));

                                                                               ^

D:\uC\libraries\WiFiManager\WiFiManager.cpp:149:83: note: candidates are:

In file included from D:\uC\libraries\WiFiManager\WiFiManager.h:17:0,

             from D:\uC\libraries\WiFiManager\WiFiManager.cpp:13:

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:79:8: note: void ESP8266WebServer::on(const char*, ESP8266WebServer::THandlerFunction)

void on(const char* uri, THandlerFunction handler);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:79:8: note: no known conversion for argument 1 from 'String' to 'const char*'

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:80:8: note: void ESP8266WebServer::on(const char*, HTTPMethod, ESP8266WebServer::THandlerFunction)

void on(const char* uri, HTTPMethod method, THandlerFunction fn);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:80:8: note: candidate expects 3 arguments, 2 provided

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:81:8: note: void ESP8266WebServer::on(const char*, HTTPMethod, ESP8266WebServer::THandlerFunction, ESP8266WebServer::THandlerFunction)

void on(const char* uri, HTTPMethod method, THandlerFunction fn, THandlerFunction ufn);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:81:8: note: candidate expects 4 arguments, 2 provided

D:\uC\libraries\WiFiManager\WiFiManager.cpp:150:72: error: no matching function for call to 'ESP8266WebServer::on(String, std::_Bind_helper::type)'

server->on(String(F("/i")), std::bind(&WiFiManager::handleInfo, this));

                                                                    ^

D:\uC\libraries\WiFiManager\WiFiManager.cpp:150:72: note: candidates are:

In file included from D:\uC\libraries\WiFiManager\WiFiManager.h:17:0,

             from D:\uC\libraries\WiFiManager\WiFiManager.cpp:13:

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:79:8: note: void ESP8266WebServer::on(const char*, ESP8266WebServer::THandlerFunction)

void on(const char* uri, THandlerFunction handler);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:79:8: note: no known conversion for argument 1 from 'String' to 'const char*'

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:80:8: note: void ESP8266WebServer::on(const char*, HTTPMethod, ESP8266WebServer::THandlerFunction)

void on(const char* uri, HTTPMethod method, THandlerFunction fn);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:80:8: note: candidate expects 3 arguments, 2 provided

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:81:8: note: void ESP8266WebServer::on(const char*, HTTPMethod, ESP8266WebServer::THandlerFunction, ESP8266WebServer::THandlerFunction)

void on(const char* uri, HTTPMethod method, THandlerFunction fn, THandlerFunction ufn);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:81:8: note: candidate expects 4 arguments, 2 provided

D:\uC\libraries\WiFiManager\WiFiManager.cpp:151:73: error: no matching function for call to 'ESP8266WebServer::on(String, std::_Bind_helper::type)'

server->on(String(F("/r")), std::bind(&WiFiManager::handleReset, this));

                                                                     ^

D:\uC\libraries\WiFiManager\WiFiManager.cpp:151:73: note: candidates are:

In file included from D:\uC\libraries\WiFiManager\WiFiManager.h:17:0,

             from D:\uC\libraries\WiFiManager\WiFiManager.cpp:13:

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:79:8: note: void ESP8266WebServer::on(const char*, ESP8266WebServer::THandlerFunction)

void on(const char* uri, THandlerFunction handler);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:79:8: note: no known conversion for argument 1 from 'String' to 'const char*'

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:80:8: note: void ESP8266WebServer::on(const char*, HTTPMethod, ESP8266WebServer::THandlerFunction)

void on(const char* uri, HTTPMethod method, THandlerFunction fn);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:80:8: note: candidate expects 3 arguments, 2 provided

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:81:8: note: void ESP8266WebServer::on(const char*, HTTPMethod, ESP8266WebServer::THandlerFunction, ESP8266WebServer::THandlerFunction)

void on(const char* uri, HTTPMethod method, THandlerFunction fn, THandlerFunction ufn);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:81:8: note: candidate expects 4 arguments, 2 provided

D:\uC\libraries\WiFiManager\WiFiManager.cpp:153:77: error: no matching function for call to 'ESP8266WebServer::on(String, std::_Bind_helper::type)'

server->on(String(F("/fwlink")), std::bind(&WiFiManager::handleRoot, this)); //Microsoft captive portal. Maybe not needed. Might be handled by notFound handler.

                                                                         ^

D:\uC\libraries\WiFiManager\WiFiManager.cpp:153:77: note: candidates are:

In file included from D:\uC\libraries\WiFiManager\WiFiManager.h:17:0,

             from D:\uC\libraries\WiFiManager\WiFiManager.cpp:13:

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:79:8: note: void ESP8266WebServer::on(const char*, ESP8266WebServer::THandlerFunction)

void on(const char* uri, THandlerFunction handler);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:79:8: note: no known conversion for argument 1 from 'String' to 'const char*'

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:80:8: note: void ESP8266WebServer::on(const char*, HTTPMethod, ESP8266WebServer::THandlerFunction)

void on(const char* uri, HTTPMethod method, THandlerFunction fn);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:80:8: note: candidate expects 3 arguments, 2 provided

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:81:8: note: void ESP8266WebServer::on(const char*, HTTPMethod, ESP8266WebServer::THandlerFunction, ESP8266WebServer::THandlerFunction)

void on(const char* uri, HTTPMethod method, THandlerFunction fn, THandlerFunction ufn);

    ^

D:\uC\libraries\ESP8266WebServer\src/ESP8266WebServer.h:81:8: note: candidate expects 4 arguments, 2 provided

Multiple libraries were found for "ESP8266WebServer.h"
Used: D:\uC\libraries\ESP8266WebServer
Not used: C:\Program Files\arduino-1.8.5\portable\packages\esp8266\hardware\esp8266\2.4.2\libraries\ESP8266WebServer
exit status 1
Error compiling for board Generic ESP8266 Module.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

bug duplicate

Most helpful comment

try hotfixes branch

All 7 comments

try hotfixes branch

576

if it works I will merge into master and release an update

"hotfixes" branch solves the issue on Arduino IDE ! Thanks !

@tablatronix, Hotfixes branch fixed this issue for me too. Thanks.

late 2020 and still not fixed other than with hotfix?
I get the issue with 2.00.00 and up, but
I don't get it with 0.15.0 and below.

@Michail1 This was fixed in 0.15, if you have a problem open a new issue

Was this page helpful?
0 / 5 - 0 ratings

Related issues

tarzan115 picture tarzan115  路  7Comments

Bolukan picture Bolukan  路  12Comments

e-music picture e-music  路  8Comments

gjt211 picture gjt211  路  7Comments

tarzan115 picture tarzan115  路  3Comments