Seite 1 von 1

Linkerfehler beim Konvertieren von QString zu std::wstring

Verfasst: 20. April 2009 19:52
von Matthias_
Ich verwende in meinem Programm aus meheren Gründen auch std::wstring.
Als ich dann versucht habe es mit QString::toStdWString () const
zu probieren, bekam ich folgenden unschönen Linkerfehler:

Code: Alles auswählen

error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) public: class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > __thiscall QString::toStdWString(void)const " (__imp_?toStdWString@QString@@QBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ)" .
Ich verwende Qt 4.5 im Visual Studio 2008 Pro.
Kann mir da jemand weiterhelfen ?

Verfasst: 20. April 2009 20:32
von Christian81
Qt wird standardmässig mit '-Zc:wchar_t-' kompiliert. Wenn man qmake benutzt wird das auch korrekt in VS-Projkete mit eingetragen aber wenn man es von Hand macht...

Verfasst: 22. April 2009 10:34
von Matthias_
Und wie kan ich es erreichen, dass diese Funktion auch mit dem VS Kompiler nutzen kann ?
Immerhin ist der auch nicht von schlechten Eltern ...

Verfasst: 22. April 2009 12:27
von Christian81
Ich würde sagen - Option aktivieren? Ist ne Compileroption - solltest Du also finden...
Und ein VS-Projket mit Qt-Mitteln zu erstellen sollte ja auch nicht das Problem sein...

Verfasst: 22. April 2009 14:51
von Matthias_
Christian81 hat geschrieben:Ich würde sagen - Option aktivieren?
Ist bei mir schon aktiviert gewesen.

Was heißt "ein VS-Projket mit Qt-Mitteln" ? Also den mingw compiler verwenden ?

Oder muss ich einfach die Qt Bibliothek mit der oben genannten Option neu kompilieren ?

Kenn mich da net so gut aus^^ :?

Verfasst: 22. April 2009 17:16
von Christian81
Siehst Du das '-' dahinter?

Mit Qt-Mitteln - mit Hilfe von pro-Files und qmake.

Verfasst: 22. April 2009 21:25
von Matthias_
Also die oben gennante Option ausschalten. Sags doch! Und red net um den heißen Brei herum. Kann ich ja nicht riechen, dass das Minuszeichen dafür verantwortlich ist. Bei mir heißt die Option auch "/Zc:wchar_t-" und hat nen Schrägstrich vorne dran.

Aber trotzdem Danke - es geht jetzt. :lol: