STM32F4 mit CodeBlocks und Linux - C++ geht nicht?

#3987882
Lesenswert?

Hi Leute,

ich habe mir den Artikel hier

Beitrag "STM32F4 mit Code::Blocks"

durchgelesen und konnte das Beispiel erfolgreich auf Linux (Ubutnut 
14.04 , Codeblocks 13.12) ummünzen.

Meine C-Files, die ich erstellen kann, kann ich erfolgreich auf den 
STM32 laden und Sie funktionieren auch.

Nun habe ich leider wieder das Problem, wie auf der Kommandzeile auch 
schon, das wenn ich C++ Std-Header einbinden will, der Compiler die 
Biblioteken nicht kennt
1
#include <iostream>
2
#include <vector>
3
#include <deque>

führen immer zu der gleichen Meldung:

src/main.c|6|fatal error: iostream: No such file or directory|

Unter Windows habe ich bei der CodeBlocks-basierten IDE Em::Blocks in 
den Linker-Settings die Optione "Use C++-Libaries" aktiviert, seitdem 
geht dort alles.

Unter Linux im Orginalen Code::Blocks konnte ich jedoch bisher so eine 
Option nicht finden.
Wenn eine solche Option aktiviert ist, definiert der Compiler 
automatisch mit dem Präprozessor

__cplusplus

fuer die Verwendung vom g++ vermute ich mal, außerdem für
1
#ifdef __cplusplus
2
 extern "C" {
3
#endif

Würde mich echt freuen wenn mir hier jemand weiterhelfen könnte.


Meine Compiler-Options sind:

-mcpu=cortex-m4
-mfloat-abi=hard
-mfpu=fpv4-sp-d16
-ffunction-sections
-fdata-sections
-flto
-Wl,
-static
-specs=nosys.specs



Danke


Habe hier noch einen Nachtrag:

Habe die main.c in main.cpp umbenannt, jetzt kommen andere 
Fehlermeldungen:

fstatr.c:(.text._fstat_r+0xe)||undefined reference to `_fstat'|
openr.c:(.text._open_r+0x10)||undefined reference to `_open'|

usw...

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