Skocz do zawartości

Początki są trudne... Migracja Arduino->PlatformIO


Pomocna odpowiedź

Napisano

Poproszę o pomoc. Chciałem przjeść na PlatformIO z działającego projektu w Arduino. Udało mi się doprowadzić do kompilacji "build" bez czerwonych błedów ale po tej kilkudniowej pracy i doprowadzenia do zero czerwonych błędów i zero problemów, zalała mnie duża ilość "żółtych błędów" niestety bez odnośników do plików i linii. Są tylko odniesienia do binarnych plików z rozszerzeniem ".o". I nie mam pojęcia co dalej bo to moje pierwsze kroki w PlatformIO.

Czy ktoś pomoże staremu opanować metodykę dalszego oczyszczania z tego żółtego szaleństwa błędów. Większość z nich to ostrzeżenia typu :

.pio\build\nanoatmega328\src\a0_main.cpp.o (symbol from plugin):(.text+0x0): first defined here
.pio\build\nanoatmega328\src\service.cpp.o (symbol from plugin): In function `channelStatesServ':
(.text+0x0): multiple definition of `encMinim::isLeft()'


Poproszę choć jeden przykład dalszego postępowania w migracji...

pozdrawiam
-- kmicic1950

(edytowany)

Rozbij encMinim.h na pliki .h i .cpp.  Deklaracja `class {}` w .h, reszta do .cpp. 


Jeśli definicje metod masz w pliku .h, i zaincludujesz go więcej niż raz, to efekt przeważnie jest taki.


Przynajmniej tak na szybko patrząc.

Edytowano przez etet100
1 godzinę temu, etet100 napisał:

Rozbij encMinim.h na pliki .h i .cpp.  Deklaracja `class {}` w .h, reszta do .cpp. 

Dzięki bardzo, tak na szybko poradził mi też uprzejmy kolega z forum "PlatformIO Community" :). Pozostałe a jest tych żółtych błędów dużo niestety wymagają żmudnej pracy. Deklaracje, a są one w dwu plikach w arduino jako pliki tylko nagłówkowe ".h" bez ciała(ino,cpp).  Trzeba ie opakować plikami "cpp" a deklaracje zmienneych opatrzyć jako globalne "extern". Niestety to wymaga żmudnej pracy. Szukasz zmiennej, wstawiasz "extern" a jak jest to zmienna z nadaniem wartości deklaracje w pliku h pozbawiasz wartości domyslnej a ustawienie wartości wstawiasz do pliku cpp. Ciekawy jestem końca tej pracy albo mojego... :).

pozdrawiam

--Kmicic1950 

  • Lubię! 1

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...