WiFiManager: wifi_country_t does not name a type error

hi im using code template as below and I’m getting this error `#include <ESP8266WiFi.h> #include <WiFiManager.h> #include <PubSubClient.h>

WiFiClient espClient; PubSubClient client(espClient);

void mqttCallback(char* topic, byte* payload, unsigned int length) { // message received }

void mqttReconnect() { // reconnect code from PubSubClient example }

void WiFiManager::setCountry(String IN){ _wificountry = IN; }

void setup() { WiFiManager wifiManager; wifiManager.setTimeout(180);

 if(!wifiManager.autoConnect("AutoConnectAP")) {
   Serial.println("failed to connect and hit timeout");
   delay(3000);
   ESP.reset();
   delay(5000);
 } 

 Serial.println("connected...yeey :)");

 client.setServer(mqtt_server, 1883);
 client.setCallback(mqttCallback);

}

void loop() { if (!client.connected()) { mqttReconnect(); } client.loop(); yield(); }`

my error is

Arduino: 1.8.12 (Windows Store 1.8.33.0) (Windows 10), Board: “NodeMCU 0.9 (ESP-12 Module), 80 MHz, 115200, 4M (3M SPIFFS)”

In file included from C:\Users\sai\Documents\Arduino\libraries\WiFiManager/WiFiManager.h:96:0,

             from C:\Users\sai\Documents\Arduino\wifi_manager_mqtt_v2\wifi_manager_mqtt_v2.ino:8:

C:\Users\sai\Documents\Arduino\libraries\WiFiManager/strings_en.h:358:7: error: ‘wifi_country_t’ does not name a type

const wifi_country_t WM_COUNTRY_US{“US”,1,11,WIFI_COUNTRY_POLICY_AUTO};

C:\Users\sai\Documents\Arduino\libraries\WiFiManager/strings_en.h:359:7: error: ‘wifi_country_t’ does not name a type

const wifi_country_t WM_COUNTRY_CN{“CN”,1,13,WIFI_COUNTRY_POLICY_AUTO};

C:\Users\sai\Documents\Arduino\libraries\WiFiManager/strings_en.h:360:7: error: ‘wifi_country_t’ does not name a type

const wifi_country_t WM_COUNTRY_JP{“JP”,1,14,WIFI_COUNTRY_POLICY_AUTO};

exit status 1 Error compiling for board NodeMCU 0.9 (ESP-12 Module).

About this issue

Most upvoted comments

So strange how compilers do that sometime, throw unrelated errors You should only have to include it if you are actually using it though

I have just had this problem and after losing about 1 hour it seems the problem is that you have to add

#include <ESP8266WiFi.h>

before the wifimanager include, the examples provided with the library doesn’t work for me without this.