Teensy 4.0 wiring.h and complex errors when including library

nodemand

Member
Hi,
I'm trying to include a library that was not specifically written for Arduino/Teensy in a project.
It compiles perfectly on a Raspberry Pi 5 with gcc/g++, but can not get it to compile for Teensy 4.0.
To me, the weird thing is that I'm getting wiring.h errors, while I'm not using that library or anything of the sort. Nor does the library.
I had a lot more errors, but they went away when I included the extra libraries above the Stretch include in the main sketch:

Sketch:
C++:
#include <random>
#include <vector>
#include <complex>
#include <cmath>
#include <algorithm>
#include <functional>
#include <iterator>

#include <stretch.h>

signalsmith::stretch::SignalsmithStretch<float> stretch;

void setup() {
}

void loop() {
}

Errors (first half, the rest was not allowed):
Code:
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:165:3: error: expected ')' before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:164:16: note: to match this '('
  164 | #define abs(x) ({ \
      |                ^
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:166:4: error: '_x' was not declared in this scope
  166 |   (_x > 0) ? _x : -_x; \
      |    ^~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex: At global scope:
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:167:2: error: expected unqualified-id before ')' token
  167 | })
      |  ^
In file included from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:3:
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:823:12: error: 'complex' does not name a type
  823 |     inline complex<_Tp>
      |            ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:828:12: error: 'complex' does not name a type
  828 |     inline complex<_Tp>
      |            ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:834:12: error: 'complex' does not name a type
  834 |     inline complex<_Tp>
      |            ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:858:12: error: 'complex' does not name a type
  858 |     inline complex<_Tp>
      |            ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:864:12: error: 'complex' does not name a type
  864 |     inline complex<_Tp>
      |            ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:888:12: error: 'complex' does not name a type
  888 |     inline complex<_Tp>
      |            ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:895:5: error: 'complex' does not name a type
  895 |     complex<_Tp>
      |     ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:932:12: error: 'complex' does not name a type
  932 |     inline complex<_Tp>
      |            ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:939:12: error: 'complex' does not name a type
  939 |     inline complex<_Tp>
      |            ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:959:12: error: 'complex' does not name a type
  959 |     inline complex<_Tp>
      |            ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:967:12: error: 'complex' does not name a type
  967 |     inline complex<_Tp>
      |            ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:987:12: error: 'complex' does not name a type
  987 |     inline complex<_Tp>
      |            ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:996:5: error: 'complex' does not name a type
  996 |     complex<_Tp>
      |     ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1018:12: error: 'complex' does not name a type
 1018 |     inline complex<_Tp>
      |            ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1027:5: error: 'complex' does not name a type
 1027 |     complex<_Tp>
      |     ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1042:12: error: 'complex' does not name a type
 1042 |     inline complex<_Tp>
      |            ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1066:12: error: 'complex' does not name a type
 1066 |     inline complex<_Tp>
      |            ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1072:12: error: 'complex' does not name a type
 1072 |     inline complex<_Tp>
      |            ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1083:11: error: 'complex' is not a class template
 1083 |     class complex<float>
      |           ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1084:5: error: explicit specialization of non-template 'complex'
 1084 |     {
      |     ^
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1101:49: error: 'complex' is not a template
 1101 |       explicit _GLIBCXX_CONSTEXPR complex(const complex<double>&);
      |                                                 ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1102:49: error: 'complex' is not a template
 1102 |       explicit _GLIBCXX_CONSTEXPR complex(const complex<long double>&);
      |                                                 ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1102:35: error: 'constexpr complex::complex(const complex&)' cannot be overloaded with 'constexpr complex::complex(const complex&)'
 1102 |       explicit _GLIBCXX_CONSTEXPR complex(const complex<long double>&);
      |                                   ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1101:35: note: previous declaration 'constexpr complex::complex(const complex&)'
 1101 |       explicit _GLIBCXX_CONSTEXPR complex(const complex<double>&);
      |                                   ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1179:25: error: 'complex' is not a template
 1179 |         operator=(const complex<_Tp>&  __z)
      |                         ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1188:26: error: 'complex' is not a template
 1188 |         operator+=(const complex<_Tp>& __z)
      |                          ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1196:26: error: 'complex' is not a template
 1196 |         operator-=(const complex<_Tp>& __z)
      |                          ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1204:26: error: 'complex' is not a template
 1204 |         operator*=(const complex<_Tp>& __z)
      |                          ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1213:26: error: 'complex' is not a template
 1213 |         operator/=(const complex<_Tp>& __z)
      |                          ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1229:11: error: 'complex' is not a class template
 1229 |     class complex<double>
      |           ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1229:25: error: 'complex' is not a template
 1229 |     class complex<double>
      |                         ^
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1083:11: note: previous declaration here
 1083 |     class complex<float>
      |           ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1375:11: error: 'complex' is not a class template
 1375 |     class complex<long double>
      |           ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1375:30: error: 'complex' is not a template
 1375 |     class complex<long double>
      |                              ^
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1083:11: note: previous declaration here
 1083 |     class complex<float>
      |           ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1523:3: error: 'complex' is not a template
 1523 |   complex<float>::complex(const complex<double>& __z)
      |   ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1523:33: error: 'complex' is not a template
 1523 |   complex<float>::complex(const complex<double>& __z)
      |                                 ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1523:53: error: 'complex complex(const complex&)' should have been declared inside '::'
 1523 |   complex<float>::complex(const complex<double>& __z)
      |                                                     ^
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex: In function 'constexpr complex complex(const complex&)':
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1524:5: error: only constructors take member initializers
 1524 |   : _M_value(__z.__rep()) { }
      |     ^~~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1524:29: error: no return statement in 'constexpr' function returning non-void
 1524 |   : _M_value(__z.__rep()) { }
      |                             ^
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex: At global scope:
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1527:3: error: 'complex' does not name a type
 1527 |   complex<float>::complex(const complex<long double>& __z)
      |   ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1531:3: error: 'complex' does not name a type
 1531 |   complex<double>::complex(const complex<long double>& __z)
      |   ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1538:19: error: 'istream' is not a template function
 1538 |   extern template istream& operator>>(istream&, complex<float>&);
      |                   ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1538:26: error: expected ';' before '&' token
 1538 |   extern template istream& operator>>(istream&, complex<float>&);
      |                          ^
      |                          ;
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1539:19: error: 'ostream' is not a template function
 1539 |   extern template ostream& operator<<(ostream&, const complex<float>&);
      |                   ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1539:26: error: expected ';' before '&' token
 1539 |   extern template ostream& operator<<(ostream&, const complex<float>&);
      |                          ^
      |                          ;
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1540:19: error: 'istream' is not a template function
 1540 |   extern template istream& operator>>(istream&, complex<double>&);
      |                   ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1540:26: error: expected ';' before '&' token
 1540 |   extern template istream& operator>>(istream&, complex<double>&);
      |                          ^
      |                          ;
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1541:19: error: 'ostream' is not a template function
 1541 |   extern template ostream& operator<<(ostream&, const complex<double>&);
      |                   ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1541:26: error: expected ';' before '&' token
 1541 |   extern template ostream& operator<<(ostream&, const complex<double>&);
      |                          ^
      |                          ;
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1542:19: error: 'istream' is not a template function
 1542 |   extern template istream& operator>>(istream&, complex<long double>&);
      |                   ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1542:26: error: expected ';' before '&' token
 1542 |   extern template istream& operator>>(istream&, complex<long double>&);
      |                          ^
      |                          ;
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1543:19: error: 'ostream' is not a template function
 1543 |   extern template ostream& operator<<(ostream&, const complex<long double>&);
      |                   ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1543:26: error: expected ';' before '&' token
 1543 |   extern template ostream& operator<<(ostream&, const complex<long double>&);
      |                          ^
      |                          ;
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1546:19: error: 'wistream' is not a template function
 1546 |   extern template wistream& operator>>(wistream&, complex<float>&);
      |                   ^~~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1546:27: error: expected ';' before '&' token
 1546 |   extern template wistream& operator>>(wistream&, complex<float>&);
      |                           ^
      |                           ;
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1547:19: error: 'wostream' is not a template function
 1547 |   extern template wostream& operator<<(wostream&, const complex<float>&);
      |                   ^~~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1547:27: error: expected ';' before '&' token
 1547 |   extern template wostream& operator<<(wostream&, const complex<float>&);
      |                           ^
      |                           ;
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1548:19: error: 'wistream' is not a template function
 1548 |   extern template wistream& operator>>(wistream&, complex<double>&);
      |                   ^~~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1548:27: error: expected ';' before '&' token
 1548 |   extern template wistream& operator>>(wistream&, complex<double>&);
      |                           ^
      |                           ;
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1549:19: error: 'wostream' is not a template function
 1549 |   extern template wostream& operator<<(wostream&, const complex<double>&);
      |                   ^~~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1549:27: error: expected ';' before '&' token
 1549 |   extern template wostream& operator<<(wostream&, const complex<double>&);
      |                           ^
      |                           ;
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1550:19: error: 'wistream' is not a template function
 1550 |   extern template wistream& operator>>(wistream&, complex<long double>&);
      |                   ^~~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1550:27: error: expected ';' before '&' token
 1550 |   extern template wistream& operator>>(wistream&, complex<long double>&);
      |                           ^
      |                           ;
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1551:19: error: 'wostream' is not a template function
 1551 |   extern template wostream& operator<<(wostream&, const complex<long double>&);
      |                   ^~~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1551:27: error: expected ';' before '&' token
 1551 |   extern template wostream& operator<<(wostream&, const complex<long double>&);
      |                           ^
      |                           ;
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1558:1: error: expected declaration before '}' token
 1558 | } // namespace
      | ^
In file included from /Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/WProgram.h:46,
                 from /private/var/folders/0z/dqvcbc2d2pjbwqyg1m6xd6l00000gn/T/arduino/sketches/28F129A6A0C979F981AD04FAFC4F70A1/pch/Arduino.h:6:
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex: In function '_Tp std::fabs(const std::complex<_Tp>&)':
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:164:16: error: expected unqualified-id before '(' token
  164 | #define abs(x) ({ \
      |                ^
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:165:3: error: expected primary-expression before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:165:3: error: expected '}' before 'typeof'
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:164:17: note: to match this '{'
  164 | #define abs(x) ({ \
      |                 ^
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:165:3: error: expected ')' before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:164:16: note: to match this '('
  164 | #define abs(x) ({ \
      |                ^
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:166:4: error: '_x' was not declared in this scope
  166 |   (_x > 0) ? _x : -_x; \
      |    ^~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex: At global scope:
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:167:2: error: expected unqualified-id before ')' token
  167 | })
      |  ^
In file included from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:3:
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1930:10: error: 'complex' does not name a type
 1930 |   inline complex<float>
      |          ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1939:10: error: 'complex' does not name a type
 1939 |   inline complex<double>
      |          ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1948:10: error: 'complex' does not name a type
 1948 |   inline complex<long double>
      |          ^~~~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex: In function 'std::complex<typename __gnu_cxx::__promote<_Tp>::__type> proj(_Tp)':
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1969:19: error: 'proj' is not a member of 'std'; did you mean 'proj'?
 1969 |       return std::proj(std::complex<__type>(__x));
      |                   ^~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1966:5: note: 'proj' declared here
 1966 |     proj(_Tp __x)
      |     ^~~~
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex: At global scope:
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1990:33: error: return type 'class std::complex<float>' is incomplete
 1990 |   operator""if(long double __num)
      |                                 ^
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex: In function 'constexpr void literals::complex_literals::operator""if(long double)':
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1991:63: error: too many initializers for 'std::complex<float>'
 1991 |   { return std::complex<float>{0.0F, static_cast<float>(__num)}; }
      |                                                               ^
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex: At global scope:
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1994:40: error: return type 'class std::complex<float>' is incomplete
 1994 |   operator""if(unsigned long long __num)
      |                                        ^
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex: In function 'constexpr void literals::complex_literals::operator""if(long long unsigned int)':
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1995:63: error: too many initializers for 'std::complex<float>'
 1995 |   { return std::complex<float>{0.0F, static_cast<float>(__num)}; }
      |                                                               ^
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex: At global scope:
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1998:32: error: return type 'class std::complex<double>' is incomplete
 1998 |   operator""i(long double __num)
      |                                ^
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex: In function 'constexpr void literals::complex_literals::operator""i(long double)':
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:1999:64: error: too many initializers for 'std::complex<double>'
 1999 |   { return std::complex<double>{0.0, static_cast<double>(__num)}; }
      |                                                                ^
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex: At global scope:
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:2002:39: error: return type 'class std::complex<double>' is incomplete
 2002 |   operator""i(unsigned long long __num)
      |                                       ^
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex: In function 'constexpr void literals::complex_literals::operator""i(long long unsigned int)':
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:2003:64: error: too many initializers for 'std::complex<double>'
 2003 |   { return std::complex<double>{0.0, static_cast<double>(__num)}; }
      |                                                                ^
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex: At global scope:
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:2006:33: error: return type 'class std::complex<long double>' is incomplete
 2006 |   operator""il(long double __num)
      |                                 ^
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex: In function 'constexpr void literals::complex_literals::operator""il(long double)':
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:2007:49: error: too many initializers for 'std::complex<long double>'
 2007 |   { return std::complex<long double>{0.0L, __num}; }
      |                                                 ^
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex: At global scope:
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:2010:40: error: return type 'class std::complex<long double>' is incomplete
 2010 |   operator""il(unsigned long long __num)
      |                                        ^
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex: In function 'constexpr void literals::complex_literals::operator""il(long long unsigned int)':
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:2011:75: error: too many initializers for 'std::complex<long double>'
 2011 |   { return std::complex<long double>{0.0L, static_cast<long double>(__num)}; }
      |                                                                           ^
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex: At global scope:
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:2020:1: error: expected declaration before '}' token
 2020 | } // namespace
      | ^
In file included from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/spectral.h:6,
                 from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/stretch.h:4,
                 from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:9:
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./fft.h: In member function 'void signalsmith::fft::FFT<V>::addPlanSteps(size_t, size_t, size_t, size_t)':
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./fft.h:130:62: error: missing template arguments before 'twiddle'
  130 |                                                 std::complex twiddle = {V(std::cos(phase)), V(-std::sin(phase))};
      |                                                              ^~~~~~~
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./fft.h:131:73: error: 'twiddle' was not declared in this scope; did you mean 'fwide'?
  131 |                                                 twiddleVector.push_back(twiddle);
      |                                                                         ^~~~~~~
      |                                                                         fwide
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./fft.h:136:64: error: missing template arguments before ')' token
  136 |                         if (repeats == 1 && sizeof(std::complex)*subLength > 65536) {
      |                                                                ^
In file included from /Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/WProgram.h:46,
                 from /private/var/folders/0z/dqvcbc2d2pjbwqyg1m6xd6l00000gn/T/arduino/sketches/28F129A6A0C979F981AD04FAFC4F70A1/pch/Arduino.h:6:
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h: In constructor 'signalsmith::delay::InterpolatorKaiserSincN<Sample, n, minimumPhase>::InterpolatorKaiserSincN(double, double)':
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:174:18: error: expected unqualified-id before '(' token
  174 | #define round(x) ((long) __builtin_round(x))
      |                  ^
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:495:49: note: in expansion of macro 'round'
  495 |                                 int intX = std::round(x);
      |                                                 ^~~~~
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:164:16: error: expected unqualified-id before '(' token
  164 | #define abs(x) ({ \
      |                ^
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:496:55: note: in expansion of macro 'abs'
  496 |                                 if (intX != 0 && std::abs(x - intX) < 1e-6) {
      |                                                       ^~~
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:165:3: error: expected primary-expression before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:496:55: note: in expansion of macro 'abs'
  496 |                                 if (intX != 0 && std::abs(x - intX) < 1e-6) {
      |                                                       ^~~
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:165:3: error: expected '}' before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:496:55: note: in expansion of macro 'abs'
  496 |                                 if (intX != 0 && std::abs(x - intX) < 1e-6) {
      |                                                       ^~~
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:164:17: note: to match this '{'
  164 | #define abs(x) ({ \
      |                 ^
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:496:55: note: in expansion of macro 'abs'
  496 |                                 if (intX != 0 && std::abs(x - intX) < 1e-6) {
      |                                                       ^~~
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:165:3: error: expected ')' before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:496:55: note: in expansion of macro 'abs'
  496 |                                 if (intX != 0 && std::abs(x - intX) < 1e-6) {
      |                                                       ^~~
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:164:16: note: to match this '('
  164 | #define abs(x) ({ \
      |                ^
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:496:55: note: in expansion of macro 'abs'
  496 |                                 if (intX != 0 && std::abs(x - intX) < 1e-6) {
      |                                                       ^~~
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:165:21: error: expected ')' before ';' token
  165 |   typeof(x) _x = (x); \
      |                     ^
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:496:55: note: in expansion of macro 'abs'
  496 |                                 if (intX != 0 && std::abs(x - intX) < 1e-6) {
      |                                                       ^~~
In file included from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/spectral.h:8,
                 from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/stretch.h:4,
                 from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:9:
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:496:36: note: to match this '('
  496 |                                 if (intX != 0 && std::abs(x - intX) < 1e-6) {
      |                                    ^
In file included from /Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/WProgram.h:46,
                 from /private/var/folders/0z/dqvcbc2d2pjbwqyg1m6xd6l00000gn/T/arduino/sketches/28F129A6A0C979F981AD04FAFC4F70A1/pch/Arduino.h:6:
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:166:4: error: '_x' was not declared in this scope; did you mean 'x'?
  166 |   (_x > 0) ? _x : -_x; \
      |    ^~
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:496:55: note: in expansion of macro 'abs'
  496 |                                 if (intX != 0 && std::abs(x - intX) < 1e-6) {
      |                                                       ^~~
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:167:2: error: expected primary-expression before ')' token
  167 | })
      |  ^
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:496:55: note: in expansion of macro 'abs'
  496 |                                 if (intX != 0 && std::abs(x - intX) < 1e-6) {
      |                                                       ^~~
In file included from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/spectral.h:8,
                 from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/stretch.h:4,
                 from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:9:
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:499:35: error: 'else' without a previous 'if'
  499 |                                 } else if (std::abs(x) > 1e-6) {
      |                                   ^~~~
In file included from /Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/WProgram.h:46,
                 from /private/var/folders/0z/dqvcbc2d2pjbwqyg1m6xd6l00000gn/T/arduino/sketches/28F129A6A0C979F981AD04FAFC4F70A1/pch/Arduino.h:6:
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:164:16: error: expected unqualified-id before '(' token
  164 | #define abs(x) ({ \
      |                ^
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:499:49: note: in expansion of macro 'abs'
  499 |                                 } else if (std::abs(x) > 1e-6) {
      |                                                 ^~~
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:499:53: error: 'x' was not declared in this scope
  499 |                                 } else if (std::abs(x) > 1e-6) {
      |                                                     ^
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:165:10: note: in definition of macro 'abs'
  165 |   typeof(x) _x = (x); \
      |          ^
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:165:3: error: expected primary-expression before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:499:49: note: in expansion of macro 'abs'
  499 |                                 } else if (std::abs(x) > 1e-6) {
      |                                                 ^~~
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:165:3: error: expected '}' before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:499:49: note: in expansion of macro 'abs'
  499 |                                 } else if (std::abs(x) > 1e-6) {
      |                                                 ^~~
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:164:17: note: to match this '{'
  164 | #define abs(x) ({ \
      |                 ^
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:499:49: note: in expansion of macro 'abs'
  499 |                                 } else if (std::abs(x) > 1e-6) {
      |                                                 ^~~
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:165:3: error: expected ')' before 'typeof'
  165 |   typeof(x) _x = (x); \
      |   ^~~~~~
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:499:49: note: in expansion of macro 'abs'
  499 |                                 } else if (std::abs(x) > 1e-6) {
      |                                                 ^~~
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:164:16: note: to match this '('
  164 | #define abs(x) ({ \
      |                ^
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:499:49: note: in expansion of macro 'abs'
  499 |                                 } else if (std::abs(x) > 1e-6) {
      |                                                 ^~~
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:165:21: error: expected ')' before ';' token
  165 |   typeof(x) _x = (x); \
      |                     ^
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:499:49: note: in expansion of macro 'abs'
  499 |                                 } else if (std::abs(x) > 1e-6) {
      |                                                 ^~~
In file included from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/spectral.h:8,
                 from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/stretch.h:4,
                 from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:9:
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:499:43: note: to match this '('
  499 |                                 } else if (std::abs(x) > 1e-6) {
      |                                           ^
In file included from /Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/WProgram.h:46,
                 from /private/var/folders/0z/dqvcbc2d2pjbwqyg1m6xd6l00000gn/T/arduino/sketches/28F129A6A0C979F981AD04FAFC4F70A1/pch/Arduino.h:6:
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:166:4: error: '_x' was not declared in this scope
  166 |   (_x > 0) ? _x : -_x; \
      |    ^~
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/dsp/./delay.h:499:49: note: in expansion of macro 'abs'
  499 |                                 } else if (std::abs(x) > 1e-6) {
      |                                                 ^~~
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/stretch.h: In lambda function:
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:174:18: error: expected unqualified-id before '(' token
  174 | #define round(x) ((long) __builtin_round(x))
      |                  ^
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/stretch.h:147:56: note: in expansion of macro 'round'
  147 |                                 int inputOffset = std::round(outputOffset*Sample(inputSamples)/outputSamples) - stft.windowSize();
      |                                                        ^~~~~
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/stretch.h: In member function 'void signalsmith::stretch::SignalsmithStretch<Sample>::processSpectrum(bool, Sample)':
/Users/jeroen/Library/Arduino15/packages/teensy/hardware/avr/1.58.1/cores/teensy4/wiring.h:174:18: error: expected unqualified-id before '(' token
  174 | #define round(x) ((long) __builtin_round(x))
      |                  ^
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/stretch.h:355:45: note: in expansion of macro 'round'
  355 |                 int longVerticalStep = std::round(smoothingBins);
      |                                             ^~~~~
In file included from /Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/vector:67,
                 from /Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/bits/random.h:34,
                 from /Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/random:49,
                 from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:1:
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/bits/stl_vector.h: In instantiation of 'std::_Vector_base<_Tp, _Alloc>::~_Vector_base() [with _Tp = std::complex<float>; _Alloc = std::allocator<std::complex<float> >]':
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/bits/stl_vector.h:487:7:   required from 'signalsmith::stretch::SignalsmithStretch<Sample>::SignalsmithStretch() [with Sample = float]'
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:11:49:   required from here
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/bits/stl_vector.h:336:49: error: invalid use of incomplete type 'class std::complex<float>'
  336 |                       _M_impl._M_end_of_storage - _M_impl._M_start);
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
In file included from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:3:
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:68:20: note: declaration of 'class std::complex<float>'
   68 |   template<> class complex<float>;
      |                    ^~~~~~~~~~~~~~
In file included from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:9:
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/stretch.h: In instantiation of 'struct signalsmith::stretch::SignalsmithStretch<float>::Band':
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/bits/stl_vector.h:336:35:   required from 'std::_Vector_base<_Tp, _Alloc>::~_Vector_base() [with _Tp = signalsmith::stretch::SignalsmithStretch<float>::Band; _Alloc = std::allocator<signalsmith::stretch::SignalsmithStretch<float>::Band>]'
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/bits/stl_vector.h:487:7:   required from 'signalsmith::stretch::SignalsmithStretch<Sample>::SignalsmithStretch() [with Sample = float]'
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:11:49:   required from here
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/stretch.h:264:25: error: 'signalsmith::stretch::SignalsmithStretch<Sample>::Band::input' has incomplete type
  264 |                 Complex input, prevInput{0};
      |                         ^~~~~
In file included from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:3:
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:68:20: note: declaration of 'using Complex = class std::complex<float>' {aka 'class std::complex<float>'}
   68 |   template<> class complex<float>;
      |                    ^~~~~~~~~~~~~~
In file included from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:9:
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/stretch.h:264:32: error: 'signalsmith::stretch::SignalsmithStretch<Sample>::Band::prevInput' has incomplete type
  264 |                 Complex input, prevInput{0};
      |                                ^~~~~~~~~
In file included from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:3:
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:68:20: note: declaration of 'using Complex = class std::complex<float>' {aka 'class std::complex<float>'}
   68 |   template<> class complex<float>;
      |                    ^~~~~~~~~~~~~~
In file included from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:9:
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/stretch.h:265:25: error: 'signalsmith::stretch::SignalsmithStretch<Sample>::Band::output' has incomplete type
  265 |                 Complex output, prevOutput{0};
      |                         ^~~~~~
In file included from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:3:
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:68:20: note: declaration of 'using Complex = class std::complex<float>' {aka 'class std::complex<float>'}
   68 |   template<> class complex<float>;
      |                    ^~~~~~~~~~~~~~
In file included from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:9:
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/stretch.h:265:33: error: 'signalsmith::stretch::SignalsmithStretch<Sample>::Band::prevOutput' has incomplete type
  265 |                 Complex output, prevOutput{0};
      |                                 ^~~~~~~~~~
In file included from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:3:
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:68:20: note: declaration of 'using Complex = class std::complex<float>' {aka 'class std::complex<float>'}
   68 |   template<> class complex<float>;
      |                    ^~~~~~~~~~~~~~
In file included from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:9:
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/stretch.h: In instantiation of 'struct signalsmith::stretch::SignalsmithStretch<float>::Prediction':
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/bits/stl_vector.h:336:35:   required from 'std::_Vector_base<_Tp, _Alloc>::~_Vector_base() [with _Tp = signalsmith::stretch::SignalsmithStretch<float>::Prediction; _Alloc = std::allocator<signalsmith::stretch::SignalsmithStretch<float>::Prediction>]'
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/bits/stl_vector.h:487:7:   required from 'signalsmith::stretch::SignalsmithStretch<Sample>::SignalsmithStretch() [with Sample = float]'
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:11:49:   required from here
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/stretch.h:319:25: error: 'signalsmith::stretch::SignalsmithStretch<Sample>::Prediction::input' has incomplete type
  319 |                 Complex input;
      |                         ^~~~~
In file included from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:3:
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:68:20: note: declaration of 'using Complex = class std::complex<float>' {aka 'class std::complex<float>'}
   68 |   template<> class complex<float>;
      |                    ^~~~~~~~~~~~~~
In file included from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:9:
/Users/jeroen/Library/CloudStorage/Dropbox/Arduino/libraries/stretch/stretch.h:320:25: error: 'signalsmith::stretch::SignalsmithStretch<Sample>::Prediction::shortVerticalTwist' has incomplete type
  320 |                 Complex shortVerticalTwist, longVerticalTwist;
      |                         ^~~~~~~~~~~~~~~~~~
In file included from /Users/jeroen/Library/CloudStorage/Dropbox/Arduino/project/stretch/project-stretch-01/project-stretch-01.ino:3:
/Users/jeroen/Library/Arduino15/packages/teensy/tools/teensy-compile/11.3.1/arm/arm-none-eabi/include/c++/11.3.1/complex:68:20: note: declaration of 'using Complex = class std::complex<float>' {aka 'class std::complex<float>'}
   68 |   template<> class complex<float>;
      |                    ^~~~~~~~~~~~~~

Stretch Library on GitHub

I copied all library files to the "Arduino/libraries/stretch" folder and renamed "signalsmith-stretch.h" to "stretch.h".
Is there some kind of compiler flag I should be using to get this to compile?
I'm using Arduino IDE 2.2.1 and Teensy 1.58.1
 
Last edited:
Back
Top