Welche Qt Klassen benutzen direkt oder indirekt stdint.h?

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
NothingSpecial
Beiträge: 28
Registriert: 5. Juli 2009 16:06

Welche Qt Klassen benutzen direkt oder indirekt stdint.h?

Beitrag von NothingSpecial »

Hi,

ich möchte ein Header (zu einer closed source Bibliothek) verwenden, welcher alle numerischen Datentypen neudefiniert. Leider genau mit den Definitionen, wie sie in der stdint.h von mingw definiert sind, also zB als int8_t. Die Definitionen weichen auch noch voneinander ab. Nun überlege ich wie ich das ganze Entschärfen kann. Wie bekomme ich raus, welche Qt Bibliotheken diese stdint.h verwenden. Die Suche nach dem expliziten Aufruf hat mich nur in den thirdparty ordner gelotst. Trotzdem kommt der Kompiler- Fehler nicht bei einem leeren Projekt, das kein Qt benutzt.
Das Problem scheint trotzdem nicht direkt Qt spezifisch zu sein, sondern eher gcc spezifisch, da die Datei im mingw Ordner liegt. Hat jemand eine Idee wie ich die doppelte Definition umgehe?

Ich benutze hier Windows XP, aktuelles gcc, wingw und Qt4.5.2.

Derzeit verwende ich folgende Qt Header:

Code: Alles auswählen

#include <QtGui/QMainWindow>
#include <qlabel.h>
#include <QScrollArea.h>
#include <QImageReader>
#include <QString>
#include <QApplication>
#include <QMouseEvent>
#include <QTime>
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QCheckBox>
#include <QtGui/QGroupBox>
#include <QtGui/QHeaderView>
#include <QtGui/QLabel>
#include <QtGui/QMainWindow>
#include <QtGui/QMenuBar>
#include <QtGui/QPushButton>
#include <QtGui/QRadioButton>
#include <QtGui/QStatusBar>
#include <QtGui/QToolBar>
#include <QtGui/QWidget>
#include <QThread>
Der Code der Headerdatei sieht folgendermaßen aus:

Code: Alles auswählen

  //! makes __int32 portable across different platforms (haha ;))
  typedef __int32 int32_t;
  //! makes unsigned int32 portable across different platforms (haha ;))
  typedef unsigned __int32 uint32_t;
Ich nehme auch Vorschläge für kranke Workarounds an ;)

Grüße,

NothingSpecial
Antworten