m5stack / M5Stack

M5Stack Arduino Library
MIT License
1.19k stars 425 forks source link

Prevent double declaration #286

Closed PierreRambaud closed 2 years ago

PierreRambaud commented 2 years ago

Prevent double declaration when using esp32 and platformio with C++17

.pio/libdeps/m5stack-core2/M5Core2/src/utility/quaternionFilters.cpp:35:14: error: 'float beta' conflicts with a previous declaration
 static float beta = sqrt(3.0f / 4.0f) * GyroMeasError;   // Compute beta
              ^~~~
In file included from /home/got/.platformio/packages/toolchain-xtensa-esp32@8.4.0+2021r2/xtensa-esp32-elf/include/c++/8.4.0/cmath:1892,
                 from /home/got/.platformio/packages/toolchain-xtensa-esp32@8.4.0+2021r2/xtensa-esp32-elf/include/c++/8.4.0/math.h:36,
                 from /home/got/.platformio/packages/framework-arduinoespressif32@src-aeb765cc6d796f82436824e2edc6e6ef/cores/esp32/esp32-hal.h:30,
                 from /home/got/.platformio/packages/framework-arduinoespressif32@src-aeb765cc6d796f82436824e2edc6e6ef/cores/esp32/Arduino.h:36,
                 from .pio/libdeps/m5stack-core2/M5Core2/src/utility/quaternionFilters.h:4,
                 from .pio/libdeps/m5stack-core2/M5Core2/src/utility/quaternionFilters.cpp:12:
/home/got/.platformio/packages/toolchain-xtensa-esp32@8.4.0+2021r2/xtensa-esp32-elf/include/c++/8.4.0/bits/specfun.h:343:5: note: previous declaration 'typename __gnu_cxx::__promote_2<_Tp, _Up>::__type std::beta(_Tpa, _Tpb)'
     beta(_Tpa __a, _Tpb __b)
     ^~~~
.pio/libdeps/m5stack-core2/M5Core2/src/utility/quaternionFilters.cpp: In function 'void MadgwickQuaternionUpdate(float, float, float, float, float, float, float, float, float, float)':
.pio/libdeps/m5stack-core2/M5Core2/src/utility/quaternionFilters.cpp:123:56: error: invalid operands of types '<unresolved overloaded function type>' and 'float' to binary 'operator*'
   qDot1 = 0.5f * (-q2 * gx - q3 * gy - q4 * gz) - beta * s1;
                                                   ~~~~~^~~~
.pio/libdeps/m5stack-core2/M5Core2/src/utility/quaternionFilters.cpp:124:55: error: invalid operands of types '<unresolved overloaded function type>' and 'float' to binary 'operator*'
   qDot2 = 0.5f * (q1 * gx + q3 * gz - q4 * gy) - beta * s2;
                                                  ~~~~~^~~~
.pio/libdeps/m5stack-core2/M5Core2/src/utility/quaternionFilters.cpp:125:55: error: invalid operands of types '<unresolved overloaded function type>' and 'float' to binary 'operator*'
   qDot3 = 0.5f * (q1 * gy - q2 * gz + q4 * gx) - beta * s3;
                                                  ~~~~~^~~~
.pio/libdeps/m5stack-core2/M5Core2/src/utility/quaternionFilters.cpp:126:55: error: invalid operands of types '<unresolved overloaded function type>' and 'float' to binary 'operator*'
   qDot4 = 0.5f * (q1 * gz + q2 * gy - q3 * gx) - beta * s4;
                                                  ~~~~~^~~~
Tinyu-Zhao commented 2 years ago

Thank you for your help