Mały Rysiek -- C++ Informacja Bool ERROR

Płytki i moduły oparte o układy Giga Device GD32VF103
ODPOWIEDZ
Awatar użytkownika
SunRiver
Użytkownik
Posty: 948
Rejestracja: 08 paź 2017, 11:27
Lokalizacja: Festung Oppeln
Kontakt:

Mały Rysiek -- C++ Informacja Bool ERROR

Post autor: SunRiver »

Postanowiłem sobie zobaczyć jak tam sobie poradzi toolchain dla RiscV pod Platformio
z programami pisanymi w C++

Pomigamy sobie diodą LED dla checy zamiast użyć Czerwonej podpiętej do GPIOC13
Więc użyjemy sobie Niebieskiej, tak na bogato w końcu mamy diodę RGB , a ta z kolei
jest podłączona do GPIOA2 :) ( zieloną znajdziecie na GPIOA1)

... kod banalny każdy sobie poradzi :)
wszystko pięknie ... cacy ale ... kompilacja już nie bardzo ......

Obrazek

no cóż ... okazuje się że w pliku gd32vf103.h, który jest przeznaczony dla języka "c" zawarta jest definicja typu bool
a to powoduje właśnie taki problem jak widoczny wyżej , gdyż niejako C++ ma już zdefiniowany bool swój :)

Rozwiązanie kłopotu jest proste wystarczy w pliku gd32vf103.h ów rzeczoną w komunikacie o błędzie linijkę 179 nieco poprawić:
  1.  
  2. //  ------------------------> poprawka dla kompilatora C++ -------------------------------------------
  3. #ifndef __cplusplus  
  4. typedef enum {FALSE = 0, TRUE = !FALSE} bool;
  5. #endif
  6. // ------------------------------------------------------------------------------------------------------------
  7.  


Załatwia to problem definitywnie na śmierć i już go nie ujrzymy .....:)

Obrazek

O tak to można ująć w pliku dla lepszej widoczności .... :) A efekt :

Obrazek

lepiej się nie da tego ująć :)

Miłego programowania w c++ małych ryśków :)
Bo jak wiadomo nie od dziś ... wszystkie Ryśki to fajne chłopaki :)
ODPOWIEDZ

Wróć do „GD32VF103”