Arduino-EEPROMEx icon indicating copy to clipboard operation
Arduino-EEPROMEx copied to clipboard

Unable to compile

Open BalrajArpit opened this issue 5 years ago • 0 comments

Arduino: 1.8.12 (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"

C:\Users\balra\Documents\Arduino\libraries\Arduino-EEPROMEx-master/EEPROMex.h: In member function 'int EEPROMClassEx::readBlock(int, const T&)':

C:\Users\balra\Documents\Arduino\libraries\Arduino-EEPROMEx-master/EEPROMex.h:121:71: error: there are no arguments to 'eeprom_read_block' that depend on a template parameter, so a declaration of 'eeprom_read_block' must be available [-fpermissive]

eeprom_read_block((void*)&value, (const void*)address, sizeof(value));

                                                                   ^

C:\Users\balra\Documents\Arduino\libraries\Arduino-EEPROMEx-master/EEPROMex.h:121:71: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)

C:\Users\balra\Documents\Arduino\libraries\Arduino-EEPROMEx-master/EEPROMex.h: In member function 'int EEPROMClassEx::writeBlock(int, const T&)':

C:\Users\balra\Documents\Arduino\libraries\Arduino-EEPROMEx-master/EEPROMex.h:143:66: error: there are no arguments to 'eeprom_write_block' that depend on a template parameter, so a declaration of 'eeprom_write_block' must be available [-fpermissive]

eeprom_write_block((void*)&value, (void*)address, sizeof(value));

                                                              ^

C:\Users\balra\Documents\Arduino\libraries\Arduino-EEPROMEx-master/EEPROMex.h: At global scope:

C:\Users\balra\Documents\Arduino\libraries\Arduino-EEPROMEx-master/EEPROMex.h:195:22: error: conflicting declaration 'EEPROMClassEx EEPROM'

extern EEPROMClassEx EEPROM;

                  ^

In file included from C:\Users\balra\Documents\Arduino\libraries\Arduino-EEPROMEx-master/EEPROMex.h:29:0,

             from F:\Downloads 2019\Documents\Arduino\ota-jarvis-iot-home-may2020\ota-jarvis-iot-home-may2020.ino:1:

C:\Users\balra\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.1\libraries\EEPROM/EEPROM.h:77:20: error: 'EEPROM' has a previous declaration as 'EEPROMClass EEPROM'

extern EEPROMClass EEPROM;

                ^

In file included from F:\Downloads 2019\Documents\Arduino\ota-jarvis-iot-home-may2020\ota-jarvis-iot-home-may2020.ino:2:0:

C:\Users\balra\Documents\Arduino\libraries\Arduino-EEPROMEx-master/EEPROMVar.h: In constructor 'EEPROMVar<T>::EEPROMVar(const T&)':

C:\Users\balra\Documents\Arduino\libraries\Arduino-EEPROMEx-master/EEPROMVar.h:32:18: error: 'class EEPROMClass' has no member named 'getAddress'

address(EEPROM.getAddress(sizeof(T)))

              ^

C:\Users\balra\Documents\Arduino\libraries\Arduino-EEPROMEx-master/EEPROMVar.h: In member function 'void EEPROMVar<T>::save()':

C:\Users\balra\Documents\Arduino\libraries\Arduino-EEPROMEx-master/EEPROMVar.h:71:13: error: 'class EEPROMClass' has no member named 'writeBlock'

  EEPROM.writeBlock<T>(address, var);

         ^

C:\Users\balra\Documents\Arduino\libraries\Arduino-EEPROMEx-master/EEPROMVar.h:71:25: error: expected primary-expression before '>' token

  EEPROM.writeBlock<T>(address, var);

                     ^

C:\Users\balra\Documents\Arduino\libraries\Arduino-EEPROMEx-master/EEPROMVar.h: In member function 'void EEPROMVar<T>::update()':

C:\Users\balra\Documents\Arduino\libraries\Arduino-EEPROMEx-master/EEPROMVar.h:75:13: error: 'class EEPROMClass' has no member named 'updateBlock'

  EEPROM.updateBlock<T>(address, var);

         ^

C:\Users\balra\Documents\Arduino\libraries\Arduino-EEPROMEx-master/EEPROMVar.h:75:26: error: expected primary-expression before '>' token

  EEPROM.updateBlock<T>(address, var);

                      ^

C:\Users\balra\Documents\Arduino\libraries\Arduino-EEPROMEx-master/EEPROMVar.h: In member function 'void EEPROMVar<T>::restore()':

C:\Users\balra\Documents\Arduino\libraries\Arduino-EEPROMEx-master/EEPROMVar.h:83:12: error: 'class EEPROMClass' has no member named 'readBlock'

 EEPROM.readBlock<T>(address, var);

        ^

C:\Users\balra\Documents\Arduino\libraries\Arduino-EEPROMEx-master/EEPROMVar.h:83:23: error: expected primary-expression before '>' token

 EEPROM.readBlock<T>(address, var);

                   ^

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.

BalrajArpit avatar May 22 '20 11:05 BalrajArpit