cstdint in VisualStudio benutzen

Gast #5218911
Hallo,
ich möchte ein Stück Software vom µC auf dem PC testen. Dazu habe ich 
die nötigen Quellen in ein generiertes MFC Projekt geworfen.
Jetzt bekomme ich Fehler wenn ich Standardtypen wie uint8_t deklariere. 
Den Header <cstdint> habe ich angezogen, da wird gemeckert:

Der globale Gültigkeitsbereich weist kein "int_least8_t" auf. 
AdafruitGfxSimu  c:\Program Files (x86)\Microsoft Visual Studio 
14.0\VC\include\cstdint  23

Fehlt da ein Header oder ein define um diese Typen benutzen zu können?
Gast
Rufus Τ. F. schrieb:
> Warum? Ist das C++-Code?

ja, die AdafruitGfx Grafikroutinen.

> Wenn Du stattdessen die Headerdatei stdint.h einbinden würdest, gäbe
> es vielleicht weniger Gemecker.

für cpp ist ist cstdint schon richtig, stdint.h führte zum gleichen 
Fehler. Weil da halt die falsche gefunden wurde.
(Firma: Torrox.de)
Johannes S. schrieb:
> Rufus Τ. F. schrieb:
>> Warum? Ist das C++-Code?
>
> ja, die AdafruitGfx Grafikroutinen.
>
>> Wenn Du stattdessen die Headerdatei stdint.h einbinden würdest, gäbe
>> es vielleicht weniger Gemecker.
>
> für cpp ist ist cstdint schon richtig, stdint.h führte zum gleichen
> Fehler. Weil da halt die falsche gefunden wurde.

Du kannst auch in C++ den header <stdint.h> verwenden. Dann liegen die 
dort deklarierten Typen im globalen namespace. Wenn Du <cstdint> 
verwendest, liegen die Typen im namespace std.

Also entweder:
1
#include <stdint.h>
2
uint8_t c;

oder
1
#include <cstdint>
2
std::uint8_t c;

Evtl. musst Du dem Compiler dann aber auch noch sagen, welchen 
Sprachstandard Du haben möchtest (>= C++11).

Die header sollten bei jedem Compiler dabei sein. Auch bei dem von 
Microsoft.
Gast
ja, langsam dämmerts wieder. Aber die stdint funktionieren jetzt ja.

Und das ich was mit der MFC gemacht habe ist auch lange her. Das ist 
zwar nicht das modernste, aber für die Idee den cpp code vom µC in einer 
PC Simulation laufen zu lassen geht es. Ich habe jetzt ein Beispiel mit 
Direct2D und der Adafruit Grafiklib gemischt, jetzt muss ich noch sehen 
wie ich das Grafik RAM simuliere. Sollte mit einer Bitmap gehen in die 
gezeichnet wird und dann in OnDraw2D() dargestellt wird. Wenn jemand 
dafür noch ein Beispiel hat, her damit. Aber das kriege ich auch 
irgendwie hin.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 8 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.