Greetings
I've been using the PROGMEM method for years without problem based exactly on the sample code (PROGMEM string demo) from the playground. I have just upgraded to IDE 1.8.3 and the sketch no longer compiles.
I then tried to compile the sample code from the playground and that also fails to compile with exactly the same errors. The output from the compiler is copied below.
A Google search on PROGMEM Compile errors didn't yield anything so clearly I am missing something. Any guidance would be much appreciated.
Arduino: 1.8.3 (Windows 7), Board: "Arduino/Genuino Uno"
Progmem_test:20: error: 'prog_char' does not name a type
prog_char string_0[] PROGMEM = "String 0"; // "String 0" etc are strings to store - change to suit.
^
Progmem_test:21: error: 'prog_char' does not name a type
prog_char string_1[] PROGMEM = "String 1";
^
Progmem_test:22: error: 'prog_char' does not name a type
prog_char string_2[] PROGMEM = "String 2";
^
Progmem_test:23: error: 'prog_char' does not name a type
prog_char string_3[] PROGMEM = "String 3";
^
Progmem_test:24: error: 'prog_char' does not name a type
prog_char string_4[] PROGMEM = "String 4";
^
Progmem_test:25: error: 'prog_char' does not name a type
prog_char string_5[] PROGMEM = "String 5";
^
Progmem_test:30: error: variable 'string_table' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
PROGMEM const char *string_table[] = // change "string_table" name to suit
^
Progmem_test:32: error: 'string_0' was not declared in this scope
string_0,
^
Progmem_test:33: error: 'string_1' was not declared in this scope
string_1,
^
Progmem_test:34: error: 'string_2' was not declared in this scope
string_2,
^
Progmem_test:35: error: 'string_3' was not declared in this scope
string_3,
^
Progmem_test:36: error: 'string_4' was not declared in this scope
string_4,
^
Progmem_test:37: error: 'string_5' was not declared in this scope
string_5 };
^
exit status 1
'prog_char' does not name a type
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.