Can't compile a pre-set example, having issues with blynk library

Details :
• NodeMCU v1.0
• Color OS v11.1
• Blynk Library v1.0.1

Example code

#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID   "YourTemplateID"


#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "YourAuthToken";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";

void setup()
{
  // Debug console
  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);
  // You can also specify server:
  //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
  //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);
}

void loop()
{
  Blynk.run();
}

Error Message:

Arduino: 1.8.19 (Windows Store 1.8.57.0) (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"



In file included from C:\Users\Matte\Documents\Arduino\libraries\Blynk\src/BlynkWidgets.h:14,

                 from C:\Users\Matte\Documents\Arduino\libraries\Blynk\src/BlynkSimpleEsp8266.h:103,

                 from C:\Users\Matte\AppData\Local\Temp\arduino_modified_sketch_488555\NodeMCU.ino:6:

C:\Users\Matte\Documents\Arduino\libraries\Blynk\src/WidgetTimeInput.h: In constructor 'TimeInputParam::TimeInputParam(const BlynkParam&)':

C:\Users\Matte\Documents\Arduino\libraries\Blynk\src/WidgetTimeInput.h:45:43: warning: implicitly-declared 'constexpr BlynkTime& BlynkTime::operator=(const BlynkTime&)' is deprecated [-Wdeprecated-copy]

   45 |             mStart = BlynkTime(it.asLong());

      |                                           ^

In file included from C:\Users\Matte\Documents\Arduino\libraries\Blynk\src/WidgetTimeInput.h:15,

                 from C:\Users\Matte\Documents\Arduino\libraries\Blynk\src/BlynkWidgets.h:14,

                 from C:\Users\Matte\Documents\Arduino\libraries\Blynk\src/BlynkSimpleEsp8266.h:103,

                 from C:\Users\Matte\AppData\Local\Temp\arduino_modified_sketch_488555\NodeMCU.ino:6:

C:\Users\Matte\Documents\Arduino\libraries\Blynk\src/utility/BlynkDateTime.h:40:5: note: because 'BlynkTime' has user-provided 'BlynkTime::BlynkTime(const BlynkTime&)'

   40 |     BlynkTime(const BlynkTime& t) : mTime(t.mTime) {}

      |     ^~~~~~~~~

In file included from C:\Users\Matte\Documents\Arduino\libraries\Blynk\src/BlynkWidgets.h:14,

                 from C:\Users\Matte\Documents\Arduino\libraries\Blynk\src/BlynkSimpleEsp8266.h:103,

                 from C:\Users\Matte\AppData\Local\Temp\arduino_modified_sketch_488555\NodeMCU.ino:6:

C:\Users\Matte\Documents\Arduino\libraries\Blynk\src/WidgetTimeInput.h:59:42: warning: implicitly-declared 'constexpr BlynkTime& BlynkTime::operator=(const BlynkTime&)' is deprecated [-Wdeprecated-copy]

   59 |             mStop = BlynkTime(it.asLong());

      |                                          ^

In file included from C:\Users\Matte\Documents\Arduino\libraries\Blynk\src/WidgetTimeInput.h:15,

                 from C:\Users\Matte\Documents\Arduino\libraries\Blynk\src/BlynkWidgets.h:14,

                 from C:\Users\Matte\Documents\Arduino\libraries\Blynk\src/BlynkSimpleEsp8266.h:103,

                 from C:\Users\Matte\AppData\Local\Temp\arduino_modified_sketch_488555\NodeMCU.ino:6:

C:\Users\Matte\Documents\Arduino\libraries\Blynk\src/utility/BlynkDateTime.h:40:5: note: because 'BlynkTime' has user-provided 'BlynkTime::BlynkTime(const BlynkTime&)'

   40 |     BlynkTime(const BlynkTime& t) : mTime(t.mTime) {}

      |     ^~~~~~~~~

C:\Users\Matte\Documents\Arduino\libraries\ESP8266WiFi\src\ESP8266WiFiSTA-WPS.cpp: In member function 'bool ESP8266WiFiSTAClass::beginWPSConfig()':

C:\Users\Matte\Documents\Arduino\libraries\ESP8266WiFi\src\ESP8266WiFiSTA-WPS.cpp:77:5: error: 'esp_suspend' was not declared in this scope

   77 |     esp_suspend([]() { return _wps_config_pending; });

      |     ^~~~~~~~~~~

C:\Users\Matte\Documents\Arduino\libraries\ESP8266WiFi\src\ESP8266WiFiScan.cpp: In member function 'int8_t ESP8266WiFiScanClass::scanNetworks(bool, bool, uint8, uint8*)':

C:\Users\Matte\Documents\Arduino\libraries\ESP8266WiFi\src\ESP8266WiFiScan.cpp:100:9: error: 'esp_suspend' was not declared in this scope

  100 |         esp_suspend([]() { return !ESP8266WiFiScanClass::_scanComplete && ESP8266WiFiScanClass::_scanStarted; });

      |         ^~~~~~~~~~~

C:\Users\Matte\Documents\Arduino\libraries\ESP8266WiFi\src\ESP8266WiFiGeneric.cpp: In member function 'bool ESP8266WiFiGenericClass::mode(WiFiMode_t)':

C:\Users\Matte\Documents\Arduino\libraries\ESP8266WiFi\src\ESP8266WiFiGeneric.cpp:442:9: error: 'esp_delay' was not declared in this scope

  442 |         esp_delay(timeoutValue, [m]() { return wifi_get_opmode() != m; }, 5);

      |         ^~~~~~~~~

C:\Users\Matte\Documents\Arduino\libraries\ESP8266WiFi\src\ESP8266WiFiGeneric.cpp: In member function 'int ESP8266WiFiGenericClass::hostByName(const char*, IPAddress&, uint32_t)':

C:\Users\Matte\Documents\Arduino\libraries\ESP8266WiFi\src\ESP8266WiFiGeneric.cpp:626:9: error: 'esp_delay' was not declared in this scope

  626 |         esp_delay(timeout_ms, []() { return _dns_lookup_pending; }, 1);

      |         ^~~~~~~~~

C:\Users\Matte\Documents\Arduino\libraries\ESP8266WiFi\src\ESP8266WiFiMulti.cpp: In function 'wl_status_t waitWiFiConnect(uint32_t)':

C:\Users\Matte\Documents\Arduino\libraries\ESP8266WiFi\src\ESP8266WiFiMulti.cpp:89:5: error: 'esp_delay' was not declared in this scope

   89 |     esp_delay(connectTimeoutMs,

      |     ^~~~~~~~~

C:\Users\Matte\Documents\Arduino\libraries\ESP8266WiFi\src\ESP8266WiFiMulti.cpp: In member function 'int8_t ESP8266WiFiMulti::startScan()':

C:\Users\Matte\Documents\Arduino\libraries\ESP8266WiFi\src\ESP8266WiFiMulti.cpp:241:5: error: 'esp_delay' was not declared in this scope

  241 |     esp_delay(WIFI_SCAN_TIMEOUT_MS,

      |     ^~~~~~~~~

In file included from C:\Users\Matte\Documents\Arduino\libraries\ESP8266WiFi\src\WiFiClient.cpp:41:

C:\Users\Matte\Documents\Arduino\libraries\ESP8266WiFi\src/include/ClientContext.h: In member function 'int ClientContext::connect(ip_addr_t*, uint16_t)':

C:\Users\Matte\Documents\Arduino\libraries\ESP8266WiFi\src/include/ClientContext.h:148:9: error: 'esp_delay' was not declared in this scope

  148 |         esp_delay(_timeout_ms, [this]() { return this->_connect_pending; }, 1);

      |         ^~~~~~~~~

C:\Users\Matte\Documents\Arduino\libraries\ESP8266WiFi\src/include/ClientContext.h: In member function 'size_t ClientContext::_write_from_source(const char*, size_t)':

C:\Users\Matte\Documents\Arduino\libraries\ESP8266WiFi\src/include/ClientContext.h:489:13: error: 'esp_delay' was not declared in this scope

  489 |             esp_delay(_timeout_ms, [this]() { return this->_send_waiting; }, 1);

      |             ^~~~~~~~~

exit status 1

Error compiling for board NodeMCU 1.0 (ESP-12E Module).



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

The problem seems to be with the contents of your C:\Users\Matte\Documents\Arduino\libraries\ESP8266WiFi\ folder.

It seems that the compiler is using this, rather than the files from the ESP core.

I’d suggest that you delete it, or move it somewhere out of the way.

Pete.

Excuse me Pete, but which folder are you referring to? The ESP8266WiFi contains 2 folders: examples and src. And the src folder has an “include” folder containing some h. files.

Everything.

Pete.

I’ve moved the folders in the ESP8266WiFi but it says now that No such filre or directory ESP8266Wifi.h Can you clarify what should be the only files(.h .cpp .txt) included in the ESP8266WiFi folder, or if is the whole folder at all needed?

If you have the ESP8266 core installed (which you need to provide ESP8266 functionality) then when you compile the sketch it should use the ESP8266.h file from the ESP8266 core.

With verbose compiler messages turned-on, and v3.0.2 of the ESP8266 core installed, I see this…

ResolveLibrary(ESP8266WiFi.h)
  -> candidates: [ESP8266WiFi@1.0]
"C:\\Users\\Pete Knight\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\xtensa-lx106-elf-gcc\\3.0.4-gcc10.3-1757bed/bin/xtensa-lx106-elf-g++" -D__ets__ -DICACHE_FLASH -U__STRICT_ANSI__ -D_GNU_SOURCE "-IC:\\Users\\Pete Knight\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/include" "-IC:\\Users\\Pete Knight\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/lwip2/include" "-IC:\\Users\\Pete Knight\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2/tools/sdk/libc/xtensa-lx106-elf/include" "-IC:\\Users\\PETEKN~1\\AppData\\Local\\Temp\\arduino_build_782600/core" -c -w -Werror=return-type -Os -g -free -fipa-pta -mlongcalls -mtext-section-literals -fno-rtti -falign-functions=4 -std=gnu++17 -ffunction-sections -fdata-sections -fno-exceptions -DMMU_IRAM_SIZE=0x8000 -DMMU_ICACHE_SIZE=0x8000 -w -x c++ -E -CC -DNONOSDK22x_190703=1 -DF_CPU=80000000L -DLWIP_OPEN_SRC -DTCP_MSS=536 -DLWIP_FEATURES=1 -DLWIP_IPV6=0 -DARDUINO=10819 -DARDUINO_ESP8266_WEMOS_D1MINI -DARDUINO_ARCH_ESP8266 "-DARDUINO_BOARD=\"ESP8266_WEMOS_D1MINI\"" -DFLASHMODE_DIO -DESP8266 "-IC:\\Users\\Pete Knight\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\cores\\esp8266" "-IC:\\Users\\Pete Knight\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\variants\\d1_mini" "-IC:\\Users\\Pete Knight\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\libraries\\ArduinoOTA" "-IC:\\Users\\Pete Knight\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\3.0.2\\libraries\\ESP8266WiFi\\src" "C:\\Users\\PETEKN~1\\AppData\\Local\\Temp\\arduino_build_782600\\sketch\\Front_Gate_RFID_Gate_Lock_for_Wemos_v4_1_experiments_LittleFS.ino.cpp" -o nul

and near the end of the compilation this:

Using library ESP8266WiFi at version 1.0 in folder: C:\Users\Pete Knight\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\ESP8266WiFi 

As you can see, the path for these files is the core files.

If you delete the entire ESP8266WiFi folder and all of its contents from C:\Users\Matte\Documents\Arduino\libraries\ then re-install the latest ESP8266 core (Tools > Board > Boards Manager - search for ESP8266 and install version 3.0.2) then the compiler should find the correct file.

Pete.