Zu unten stehenden Problem habe ich zunächste folgende Notlösung: QString qStr "foo bar"; std::string str(qStr.toLatin1().data()); Zur Erklärung: toLatin1() ergibt ein QByteArray und data() macht daraus ein char*. Damit lässt sich ein std::string konstruieren. Das ist allerdings eine Notlösung. Er wäre schön, wenn das eigentlich Problem behoben werden kann. Liebe Grüße Felix On Saturday 18 December 2010 16:25:29 Felix Lemke wrote:
Hallo Liste,
ich versuche gerade ein wenig mit QT zu programmieren. Dazu rufe ich eine Funktion, die einen std::string verlangt auf und übergebe aber einen QString. Laut Dokumentation gibt es eine QString::toStdString-Funktion. Allerdings
beschwert sich der Compiler dann:
error: ‘class QString’ has no member named ‘toStdString’
Nun habe ich im Internet gefunden, dass es daran liegen könnte, dass QT4 mit "- no-stl" kompiliert wurde. Einen Bugreport[0] (allerdings für openSuSE 10.0) habe ich gefunden.
Ich verwende das QT-Repo[1] unter openSUSE11.3 und habe libqt4-4.7.1-150.2.x86_64 (mit den entsprechenden devel-Paketen) installiert.
Kennt sich jemand einen Hinweise?
Vielen Dank Felix
[0] https://bugzilla.novell.com/show_bug.cgi?id=116804 [1] http://download.opensuse.org/repositories/KDE:/Qt/openSUSE_11.3