STM32F4 - C++ Programmierung möglich mit Em-Blocks?

#3924399
Lesenswert?

Hallo,

ich arbeite seit einigen Tagen mit einem STM32F4 Discovery Board. Habe 
mir EM-Blocks installiert und kann auch mit den STM32 Standard Libs den 
Controller steuern. Soweit alles so gut.

Da ich persönlich gerne mit C++ Programmiere (STL, Container usw.) 
wollte ich mal wissen ob ich mit dem GNU-GCC-noneabi auch C++ 
Programmieren kann.

Habe bisher versucht alle möglichen Standard-Header einzubinden, aber 
ohne Erfolg. Bekomme immer Fehlermeldungen über fehlende Libs usw.

Vielleicht hat ja von euch schon mal jemand mit C++ einen STM32 
programmiert? Wäre für Tipps dankbar ;)




Gruß Dani
#3929648
Lesenswert?

Hi, Danke für die Antworten.

Leider bin ich trotz der Beispiele nicht erfolgreich, wenn ich die 
Header-Dateien welche in den Beispielen eingebunden werde mit #inlcude 
einfüge bekomme ich die Fehlermeldung, das er diese nicht finden kann


src\main.c|17|fatal error: xpcc/architecture/platform.hpp: No such file 
or directory|
||=== Build finished: 1 errors, 1 warnings (0 minutes, 0 seconds) ===|


Was kann ich da tun??

Danke

Also nochmal, damit es vielleicht nicht ganz so sehr aussieht als wäre 
ich völlig unfähig :D

Ich kann beim erstellen des Projektes nicht zwischen C und C++ 
auswählen, schreibe ich dann aber einfach trotzdem C++ Schlüsselwörter 
erkennt diese der Compiler nicht, auch die C++ Standardbiblioteken kann 
ich nicht einfügen?

Eventuell ist es in der IDE irgendwo eine Einstellungssache oder so?
#3929698
Lesenswert?

Das scheint irgendein Header von dem XPCC Teil da zu sein. Was passiert 
denn wenn du irgendein einfaches C++ programm compilieren willst? Etwa 
sowas (alternativ mit Ausgabe wenn du schon irgendwo printf auf UART 
umgeleitet hast):
1
#include <algorithm>
2

3
int main()
4
{
5
  int x[] = {4, 1, 2, 8, 0};
6
  std::sort(x, x+5);
7
}

Edit: OK wenn schon C++ Schlüsselwörter nicht erkannt werden ist 
irgendwas faul. Ich kenne jetzt EM-Blocks nicht aber wenn man dort nicht 
die Möglichkeit hat die Build Befehle zu beeinflussen dann sieht es 
schlecht aus. Man sollte für C++ Code über die g++ Executable 
compilieren.
#3929780
Lesenswert?

Hi,

habe es jetzt doch hin bekommen. Nach dem erstellen eines STM32F4 
Projekts habe ich die main.c gelöscht und eine main.cpp eingefügt. Beim 
Hinzufügen von neuen Datein kann man auch zwischen C und C++ wählen.

Dann habe ich noch meine C-Header in ein

extern "C" {

#inlcude...
//usw.
}

gepackt. Jetzt kann ich auch andere .cpp Datein einbinden und z.B. die 
iostream Headerdatei einbinden.


Danke!!
Jetzt kann ich mich mal an das Objektorientiere yC Programmieren machen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren