Ошибка компиляции для платы Arduino / Genuino Mega или Mega 2560 с библиотекой FastLED - PullRequest
0 голосов
/ 06 апреля 2020

Я запустил 3D-проект пиксельной лампы от Heliox (cults3d link) , Французское видео на YouTube по проекту , у меня проблемы с компиляцией, и я новичок.
Я скачал библиотеку FastLED и у меня есть файл pixellamp.h Также здесь есть ссылка на исходную папку кода, предоставленную создателем проекта. Ошибка может быть из-за того, что мне нужно обновить Arduino IDE. Спросите меня что-нибудь, если им нужна дополнительная информация.

Спасибо за любую помощь

PS: Я уже отправил сообщение создателю проекта и жду ответа


In file included from C:\Users\Mael\Documents\Arduino\Lampe\Pixelamp\pixelamp\pixelamp.ino:7:0:

C:\Users\Mael\Documents\Arduino\libraries\FastLED/FastLED.h:14:21: note: #pragma message: FastLED version 3.003.003

 #    pragma message "FastLED version 3.003.003"

                     ^

In file included from C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms/avr/fastled_avr.h:6:0,

                 from C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms.h:39,

                 from C:\Users\Mael\Documents\Arduino\libraries\FastLED/FastLED.h:52,

                 from C:\Users\Mael\Documents\Arduino\Lampe\Pixelamp\pixelamp\pixelamp.ino:7:

C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms/avr/clockless_trinket.h: In static member function 'static void ClocklessController<DATA_PIN, T1, T2, T3, RGB_ORDER, XTRA0, FLIP, WAIT_TIME>::showRGBInternal(PixelController<RGB_ORDER>&)':

C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms/avr/clockless_trinket.h:326:24: error: expected primary-expression before '__attribute__'

 #define FL_FALLTHROUGH __attribute__ ((fallthrough));

                        ^

C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms/avr/clockless_trinket.h:409:55: note: in expansion of macro 'FL_FALLTHROUGH'

      case 4: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0)  FL_FALLTHROUGH

                                                       ^

C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms/avr/clockless_trinket.h:326:24: error: expected primary-expression before '__attribute__'

 #define FL_FALLTHROUGH __attribute__ ((fallthrough));

                        ^

C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms/avr/clockless_trinket.h:410:55: note: in expansion of macro 'FL_FALLTHROUGH'

      case 3: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0)  FL_FALLTHROUGH

                                                       ^

C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms/avr/clockless_trinket.h:326:24: error: expected primary-expression before '__attribute__'

 #define FL_FALLTHROUGH __attribute__ ((fallthrough));

                        ^

C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms/avr/clockless_trinket.h:411:55: note: in expansion of macro 'FL_FALLTHROUGH'

      case 2: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0)  FL_FALLTHROUGH

                                                       ^

C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms/avr/clockless_trinket.h:326:24: error: expected primary-expression before '__attribute__'

 #define FL_FALLTHROUGH __attribute__ ((fallthrough));

                        ^

C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms/avr/clockless_trinket.h:425:55: note: in expansion of macro 'FL_FALLTHROUGH'

      case 4: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0)  FL_FALLTHROUGH

                                                       ^

C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms/avr/clockless_trinket.h:326:24: error: expected primary-expression before '__attribute__'

 #define FL_FALLTHROUGH __attribute__ ((fallthrough));

                        ^

C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms/avr/clockless_trinket.h:426:55: note: in expansion of macro 'FL_FALLTHROUGH'

      case 3: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0)  FL_FALLTHROUGH

                                                       ^

C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms/avr/clockless_trinket.h:326:24: error: expected primary-expression before '__attribute__'

 #define FL_FALLTHROUGH __attribute__ ((fallthrough));

                        ^

C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms/avr/clockless_trinket.h:427:55: note: in expansion of macro 'FL_FALLTHROUGH'

      case 2: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0)  FL_FALLTHROUGH

                                                       ^

C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms/avr/clockless_trinket.h:326:24: error: expected primary-expression before '__attribute__'

 #define FL_FALLTHROUGH __attribute__ ((fallthrough));

                        ^

C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms/avr/clockless_trinket.h:444:55: note: in expansion of macro 'FL_FALLTHROUGH'

      case 4: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0)  FL_FALLTHROUGH

                                                       ^

C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms/avr/clockless_trinket.h:326:24: error: expected primary-expression before '__attribute__'

 #define FL_FALLTHROUGH __attribute__ ((fallthrough));

                        ^

C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms/avr/clockless_trinket.h:445:55: note: in expansion of macro 'FL_FALLTHROUGH'

      case 3: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0)  FL_FALLTHROUGH

                                                       ^

C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms/avr/clockless_trinket.h:326:24: error: expected primary-expression before '__attribute__'

 #define FL_FALLTHROUGH __attribute__ ((fallthrough));

                        ^

C:\Users\Mael\Documents\Arduino\libraries\FastLED/platforms/avr/clockless_trinket.h:446:55: note: in expansion of macro 'FL_FALLTHROUGH'

      case 2: _D2(0) LO1 _D3(0) HI1 _D1(1) QLO2(b0,0)  FL_FALLTHROUGH

                                                       ^

exit status 1
Error compiling for board Arduino/Genuino Mega or Mega 2560.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

1 Ответ

0 голосов
/ 07 апреля 2020

Согласно результатам Google, это потому, что ему нужен AVR G CC 7.xx (возможно, это просто ошибка)

Таким образом, разрешение в Arduino IDE в основном понижает библиотеку FastLED до версии 3.3.2, так как один работает, а также последний для Arduino IDE (Sketch -> Включить библиотеку -> Управление библиотеками -> поиск: FastLED и выберите 3.3.2). Если он установлен другим способом, вам следует сначала удалить эту версию.

РЕДАКТИРОВАТЬ: но я только что обновил FastLED до 3.3.3, и он также работает, возможно, они уже исправили это.

Для пользователей PlatformIO есть возможность изменить набор инструментов на версию с G CC 7

platform_packages =
  ; use GCC AVR 7.3.0+
  toolchain-atmelavr@>=1.70300.0

Еще один способ для PlatformIO - принудительное использование более старой версии библиотеки FastLED:

lib_deps =
  FastLED@3.3.2
...