JoaoLopesF / SerialDebug

Improved serial debug and simple software debugger to Arduino. With debug levels, see/change global variables, call functions, watches, and more.
MIT License
244 stars 39 forks source link

error: expected primary-expression before ')' token 7113 | *(byte*)_debugGlobals[num].pointer = change; #20

Open btotherunner opened 2 years ago

btotherunner commented 2 years ago

Compile Error - also in SampleFiles

To Reproduce Steps to reproduce the behavior:

  1. Open BasicSample-File on MacOS 12.1 (Montery) Arduino IDE 1.8.19
  2. Compile for NodeMCU 1.0

image

Arduino: 1.8.19 (Mac OS X), 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"

/Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:2384:46: error: reference to 'byte' is ambiguous 2384 | int8_t debugAddGlobalByte (const char name, byte pointer) { | ^~~~ In file included from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/cmath:42, from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/math.h:36, from /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:34, from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/bits/cpp_type_traits.h:404:30: note: candidates are: 'enum class std::byte' 404 | enum class byte : unsigned char; | ^~~~ In file included from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:160:17: note: 'typedef uint8_t byte' 160 | typedef uint8_t byte; | ^~~~ /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:2384:46: error: 'byte' has not been declared 2384 | int8_t debugAddGlobalByte (const char name, byte pointer) { | ^~~~ /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:2486:61: error: reference to 'byte' is ambiguous 2486 | int8_t debugAddGlobalByte (const FlashStringHelper name, byte pointer) { | ^~~~ In file included from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/cmath:42, from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/math.h:36, from /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:34, from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/bits/cpp_type_traits.h:404:30: note: candidates are: 'enum class std::byte' 404 | enum class byte : unsigned char; | ^~~~ In file included from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:160:17: note: 'typedef uint8_t byte' 160 | typedef uint8_t byte; | ^~~~ /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:2486:61: error: 'byte' has not been declared 2486 | int8_t debugAddGlobalByte (const __FlashStringHelper name, byte pointer) { | ^~~~ /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:2677:70: error: reference to 'byte' is ambiguous 2677 | int8_t debugAddWatchByte (const char globalName, uint8_t operation, byte value, boolean allwaysStop) { | ^~~~ In file included from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/cmath:42, from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/math.h:36, from /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:34, from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/bits/cpp_type_traits.h:404:30: note: candidates are: 'enum class std::byte' 404 | enum class byte : unsigned char; | ^~~~ In file included from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:160:17: note: 'typedef uint8_t byte' 160 | typedef uint8_t byte; | ^~~~ /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:2677:70: error: 'byte' has not been declared 2677 | int8_t debugAddWatchByte (const char globalName, uint8_t operation, byte value, boolean allwaysStop) { | ^~~~ /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:2688:65: error: reference to 'byte' is ambiguous 2688 | int8_t debugAddWatchByte (uint8_t globalNum, uint8_t operation, byte value, boolean allwaysStop) { | ^~~~ In file included from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/cmath:42, from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/math.h:36, from /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:34, from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/bits/cpp_type_traits.h:404:30: note: candidates are: 'enum class std::byte' 404 | enum class byte : unsigned char; | ^~~~ In file included from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:160:17: note: 'typedef uint8_t byte' 160 | typedef uint8_t byte; | ^~~~ /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:2688:65: error: 'byte' has not been declared 2688 | int8_t debugAddWatchByte (uint8_t globalNum, uint8_t operation, byte value, boolean allwaysStop) { | ^~~~ /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp: In function 'int8_t debugAddWatchByte(uint8_t, uint8_t, int, boolean)': /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:2701:24: error: reference to 'byte' is ambiguous 2701 | size_t size = sizeof(byte); | ^~~~ In file included from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/cmath:42, from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/math.h:36, from /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:34, from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/bits/cpp_type_traits.h:404:30: note: candidates are: 'enum class std::byte' 404 | enum class byte : unsigned char; | ^~~~ In file included from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:160:17: note: 'typedef uint8_t byte' 160 | typedef uint8_t byte; | ^~~~ /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp: At global scope: /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:3263:85: error: reference to 'byte' is ambiguous 3263 | int8_t debugAddWatchByte (const FlashStringHelper globalName, uint8_t operation, byte value, boolean allwaysStop) { | ^~~~ In file included from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/cmath:42, from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/math.h:36, from /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:34, from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/bits/cpp_type_traits.h:404:30: note: candidates are: 'enum class std::byte' 404 | enum class byte : unsigned char; | ^~~~ In file included from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:160:17: note: 'typedef uint8_t byte' 160 | typedef uint8_t byte; | ^~~~ /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:3263:85: error: 'byte' has not been declared 3263 | int8_t debugAddWatchByte (const __FlashStringHelper globalName, uint8_t operation, byte value, boolean allwaysStop) { | ^~~~ /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp: In function 'boolean apllyOperation(uint8_t, void, uint8_t, uint8_t, void)': /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:4960:6: error: reference to 'byte' is ambiguous 4960 | byte value1 = (byte) pointer1; | ^~~~ In file included from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/cmath:42, from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/math.h:36, from /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:34, from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/bits/cpp_type_traits.h:404:30: note: candidates are: 'enum class std::byte' 404 | enum class byte : unsigned char; | ^~~~ In file included from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:160:17: note: 'typedef uint8_t byte' 160 | typedef uint8_t byte; | ^~~~ /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:4961:6: error: reference to 'byte' is ambiguous 4961 | byte value2 = (byte) pointer2; | ^~~~ In file included from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/cmath:42, from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/math.h:36, from /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:34, from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/bits/cpp_type_traits.h:404:30: note: candidates are: 'enum class std::byte' 404 | enum class byte : unsigned char; | ^~~~ In file included from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:160:17: note: 'typedef uint8_t byte' 160 | typedef uint8_t byte; | ^~~~ /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:4969:16: error: 'value1' was not declared in this scope 4969 | return (value1 != value2); | ^~ /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:4969:26: error: 'value2' was not declared in this scope 4969 | return (value1 != value2); | ^~ /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp: In function 'void getStrValue(uint8_t, void, uint8_t, boolean, String&, String&)': /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:5608:21: error: expected primary-expression before '(' token 5608 | response = String((byte)pointer); | ^ /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:5608:24: error: reference to 'byte' is ambiguous 5608 | response = String((byte)pointer); | ^~~~ In file included from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/cmath:42, from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/math.h:36, from /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:34, from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/bits/cpp_type_traits.h:404:30: note: candidates are: 'enum class std::byte' 404 | enum class byte : unsigned char; | ^~~~ In file included from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:160:17: note: 'typedef uint8_t byte' 160 | typedef uint8_t byte; | ^~~~ /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:5608:29: error: expected primary-expression before ')' token 5608 | response = String((byte)pointer); | ^ /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp: In function 'void updateValue(uint8_t, void, uint8_t, void*)': /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:5784:26: error: reference to 'byte' is ambiguous 5784 | size_t size = sizeof(byte); | ^~~~ In file included from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/cmath:42, from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/math.h:36, from /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:34, from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/bits/cpp_type_traits.h:404:30: note: candidates are: 'enum class std::byte' 404 | enum class byte : unsigned char; | ^~~~ In file included from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:160:17: note: 'typedef uint8_t byte' 160 | typedef uint8_t byte; | ^~~~ /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp: In function 'void changeGlobal(Fields&)': /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:7113:9: error: reference to 'byte' is ambiguous 7113 | (byte)_debugGlobals[num].pointer = change; | ^~~~ In file included from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/cmath:42, from /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/math.h:36, from /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:34, from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/xtensa-lx106-elf/include/c++/10.3.0/bits/cpp_type_traits.h:404:30: note: candidates are: 'enum class std::byte' 404 | enum class byte : unsigned char; | ^~~~ In file included from /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:82: /Users/mbrunner/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/Arduino.h:160:17: note: 'typedef uint8_t byte' 160 | typedef uint8_t byte; | ^~~~ /Users/mbrunner/Documents/Arduino/libraries/SerialDebug/src/SerialDebug.cpp:7113:14: error: expected primary-expression before ')' token 7113 | (byte*)_debugGlobals[num].pointer = change; | ^ exit status 1 Fehler beim Kompilieren für das Board NodeMCU 1.0 (ESP-12E Module).

Dieser Bericht wäre detaillierter, wenn die Option "Ausführliche Ausgabe während der Kompilierung" in Datei -> Voreinstellungen aktiviert wäre.