Seite 1 von 1

qstring problem

Verfasst: 22. Februar 2008 11:20
von mopmop
hallo. ich benutze die delta3d grafikengine die unter anderem auch qt benutzt. ich bin jetzt auf einen fehler bei der konvertierung eines qstrings zu std::string gestoßen.

Code: Alles auswählen

std::string meinString = meinQString.toStdString();
meinString ist immer nur "BadPtr". in dem qstring an sich ist glaub alles ok.
auf dieses problem stoße ich nur unter windows vista. unter xp läufts. hab qt selbst kompiliert, vielleicht hab ich da was falsch gemacht.
weiß jemand hilfe?

Verfasst: 22. Februar 2008 11:23
von Christian81
Qt und deine Applikation müssen mit den gleichen Compiler-Switches compiliert werden.
Qt im Debug-Modus -> /MDd
Qt im Release-Modus -> /MD

So muss es auch bei deiner Applikation sein.
Aber wieso man std::string benutzt wenn man Qt hat verstehe ich wohl nie...

Verfasst: 22. Februar 2008 11:28
von mopmop
bei meinem projekt ist Multi-threaded Debug DLL (/MDd) eingestellt. ist das beim kompilieren von qt standartmäßig auch so, oder kann es sein dass ich das falsch kompiliert hab?
das ganze ist ein projekt von delta3d das ich nur versuch bei mir zum laufen zu bringen, hab leider keine andere wahl als strings zu benutzen.

Verfasst: 22. Februar 2008 11:32
von Christian81
Lies was ich geschrieben habe... /MDd ist im Debug mode aktiv.

Verfasst: 22. Februar 2008 11:48
von mopmop
egal ob ich MD oder MDd einstell, gleicher fehler. bei einem von beiden einstellungen sollte es ja aber die richtige sein.

Verfasst: 22. Februar 2008 11:51
von mopmop
da ich die debug dlls von qt benutze, also
QtCored4.lib
QtGuid4.lib
qtmaind.lib
QtOpenGLd4.lib
sollte es ja mit MDd klappen, oder?

Verfasst: 22. Februar 2008 11:57
von mopmop
ok. war was anderes. habs hinbekommen. danke für deine hilfe