Qt4 - opensuse 10.0 beta4 compile errors
This program that I had written compiles fine in other distro's with qt4 installed. However, I get the following errors: qmake -project (works fine) qmake (works fine) make (gives this output): g++ -c -pipe -fno-strict-aliasing -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_QT3SUPPORT_LIB -DQT3_SUPPORT -DQT_SHARED -I/usr/share/qt/mkspecs/default -I. -I/usr/include/Qt3Support -I/usr/include/QtGui -I/usr/include/QtCore -I/usr/include -I. -I../libs -I"`pg_config --includedir`" -I"/usr/include/pqxx" -I. -I. -o patientselect.o patientselect.cpp patientselect.cpp: In member function ‘void PatientSelect::updateTable()’: patientselect.cpp:183: error: ‘class QString’ has no member named ‘toStdString’ patientselect.cpp:189: error: ‘class QString’ has no member named ‘toStdString’ patientselect.cpp:194: error: ‘class QString’ has no member named ‘toStdString’ patientselect.cpp:214: error: ‘class QString’ has no member named ‘toStdString’ patientselect.cpp:216: error: ‘class QString’ has no member named ‘toStdString’ patientselect.cpp:218: error: ‘class QString’ has no member named ‘toStdString’ patientselect.cpp:250: error: ‘fromStdString’ is not a member of ‘QString’ patientselect.cpp:257: error: ‘fromStdString’ is not a member of ‘QString’ make: *** [patientselect.o] Error 1 QString is included, and as I said, the source does compile. I can't tell where it is looking for the QString class at.
On Thursday 08 September 2005 03:00, Tom Bruno wrote:
g++ -c -pipe -fno-strict-aliasing -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_QT3SUPPORT_LIB -DQT3_SUPPORT -DQT_SHARED -I/usr/share/qt/mkspecs/default -I. -I/usr/include/Qt3Support -I/usr/include/QtGui -I/usr/include/QtCore -I/usr/include -I. -I../libs -I"`pg_config --includedir`" -I"/usr/include/pqxx" -I. -I. -o patientselect.o patientselect.cpp patientselect.cpp: In member function ‘void PatientSelect::updateTable()’: patientselect.cpp:183: error: ‘class QString’ has no member named ‘toStdString’ [...] patientselect.cpp:250: error: ‘fromStdString’ is not a member of ‘QString’ patientselect.cpp:257: error: ‘fromStdString’ is not a member of ‘QString’ make: *** [patientselect.o] Error 1
QString is included, and as I said, the source does compile. I can't tell where it is looking for the QString class at.
The Qt4 documentation states that QString::toStdString and QString::fromStdString are "only available if Qt is configured with STL compabitility enabled." Thus I wonder if SUSE Linux' Qt is configured without STL compatibility. If that's the case maybe you want to post a bug report to bugzilla.novell.com. I think there speaks nothing against having Qt configured with STL compatibility. Cheers, Andreas
On Thursday 08 September 2005 12:54, Andreas Simon wrote:
On Thursday 08 September 2005 03:00, Tom Bruno wrote:
g++ -c -pipe -fno-strict-aliasing -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_QT3SUPPORT_LIB -DQT3_SUPPORT -DQT_SHARED -I/usr/share/qt/mkspecs/default -I. -I/usr/include/Qt3Support -I/usr/include/QtGui -I/usr/include/QtCore -I/usr/include -I. -I../libs -I"`pg_config --includedir`" -I"/usr/include/pqxx" -I. -I. -o patientselect.o patientselect.cpp patientselect.cpp: In member function ‘void PatientSelect::updateTable()’: patientselect.cpp:183: error: ‘class QString’ has no member named ‘toStdString’
[...]
patientselect.cpp:250: error: ‘fromStdString’ is not a member of ‘QString’ patientselect.cpp:257: error: ‘fromStdString’ is not a member of ‘QString’ make: *** [patientselect.o] Error 1
QString is included, and as I said, the source does compile. I can't tell where it is looking for the QString class at.
The Qt4 documentation states that QString::toStdString and QString::fromStdString are "only available if Qt is configured with STL compabitility enabled."
Thus I wonder if SUSE Linux' Qt is configured without STL compatibility. If that's the case maybe you want to post a bug report to bugzilla.novell.com. I think there speaks nothing against having Qt configured with STL compatibility.
it is not, using the -no-stl switch. I am not sure, if this makes sense, but a bugreport would make sense :) -- Adrian Schroeter SuSE AG, Maxfeldstr. 5, 90409 Nuernberg, Germany email: adrian@suse.de
Am Donnerstag, 8. September 2005 03:00 schrieb Tom Bruno:
This program that I had written compiles fine in other distro's with qt4 installed. However, I get the following errors:
Hi,
qmake -project (works fine) qmake (works fine) make (gives this output):
g++ -c -pipe -fno-strict-aliasing -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_QT3SUPPORT_LIB -DQT3_SUPPORT -DQT_SHARED -I/usr/share/qt/mkspecs/default -I. -I/usr/include/Qt3Support -I/usr/include/QtGui -I/usr/include/QtCore -I/usr/include -I. -I../libs -I"`pg_config --includedir`" -I"/usr/include/pqxx" -I. -I. -o patientselect.o patientselect.cpp patientselect.cpp: In member function ‘void PatientSelect::updateTable()’: patientselect.cpp:183: error: ‘class QString’ has no member named ‘toStdString’
you use qt3-compat and therefore it picks up the QString of qt3. But in qt3 there is no QString::toStdString(). Try to deinstall "qt-qt3support". Hope it helps... BTW: How do you manage "uic: File generated with too old version of Qt Designer" ? Recreating all Forms can not be the only solution (I hope). -- mdc
On Thursday 08 September 2005 13:03, meister@netz00.com wrote:
Am Donnerstag, 8. September 2005 03:00 schrieb Tom Bruno:
This program that I had written compiles fine in other distro's with qt4 installed. However, I get the following errors:
Hi,
qmake -project (works fine) qmake (works fine) make (gives this output):
g++ -c -pipe -fno-strict-aliasing -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_QT3SUPPORT_LIB -DQT3_SUPPORT -DQT_SHARED -I/usr/share/qt/mkspecs/default -I. -I/usr/include/Qt3Support -I/usr/include/QtGui -I/usr/include/QtCore -I/usr/include -I. -I../libs -I"`pg_config --includedir`" -I"/usr/include/pqxx" -I. -I. -o patientselect.o patientselect.cpp patientselect.cpp: In member function ‘void PatientSelect::updateTable()’: patientselect.cpp:183: error: ‘class QString’ has no member named ‘toStdString’
you use qt3-compat and therefore it picks up the QString of qt3. But in qt3 there is no QString::toStdString(). Try to deinstall "qt-qt3support". Hope it helps... BTW: How do you manage "uic: File generated with too old version of Qt Designer" ? Recreating all Forms can not be the only solution (I hope).
use uic3 instead of uic. -- Adrian Schroeter SuSE AG, Maxfeldstr. 5, 90409 Nuernberg, Germany email: adrian@suse.de
Adrian Schroeter wrote:
On Thursday 08 September 2005 13:03, meister@netz00.com wrote:
Am Donnerstag, 8. September 2005 03:00 schrieb Tom Bruno:
This program that I had written compiles fine in other distro's with qt4 installed. However, I get the following errors:
Hi,
qmake -project (works fine) qmake (works fine) make (gives this output):
g++ -c -pipe -fno-strict-aliasing -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_QT3SUPPORT_LIB -DQT3_SUPPORT -DQT_SHARED -I/usr/share/qt/mkspecs/default -I. -I/usr/include/Qt3Support -I/usr/include/QtGui -I/usr/include/QtCore -I/usr/include -I. -I../libs -I"`pg_config --includedir`" -I"/usr/include/pqxx" -I. -I. -o patientselect.o patientselect.cpp patientselect.cpp: In member function ‘void PatientSelect::updateTable()’: patientselect.cpp:183: error: ‘class QString’ has no member named ‘toStdString’
you use qt3-compat and therefore it picks up the QString of qt3. But in qt3 there is no QString::toStdString(). Try to deinstall "qt-qt3support". Hope it helps... BTW: How do you manage "uic: File generated with too old version of Qt Designer" ? Recreating all Forms can not be the only solution (I hope).
use uic3 instead of uic.
I don't use uic. everything is hand coded. Q3Support is there because i use Q3Table, if you were to want to using a qt3 sting, it would be Q3String. If such a thing exists.
Am Donnerstag, 8. September 2005 17:16 schrieb Tom Bruno <tom@limesg.com>:
Adrian Schroeter wrote: Q3Support is there because i use Q3Table, if you were to want to using a qt3 sting, it would be Q3String. If such a thing exists.
Hi Tom, as the assistant says, there is no such thing "Q3String", but there is a "Q3CString". in qstring.h: inline std::string toStdString() const; Maybe you have to declare the Namespace? Or try to decrease the optimisation level (omit -O2). But I thing this is a topic that's better dicussed on a trolltech qt mailing list. I think is's related to gcc 4.0.2 and qt4 and not to SL 10. -- mdc
meister@netz00.com wrote:
Am Donnerstag, 8. September 2005 17:16 schrieb Tom Bruno <tom@limesg.com>:
Adrian Schroeter wrote: Q3Support is there because i use Q3Table, if you were to want to using a qt3 sting, it would be Q3String. If such a thing exists.
Hi Tom,
as the assistant says, there is no such thing "Q3String", but there is a "Q3CString".
in qstring.h: inline std::string toStdString() const;
Maybe you have to declare the Namespace? Or try to decrease the optimisation level (omit -O2). But I thing this is a topic that's better dicussed on a trolltech qt mailing list. I think is's related to gcc 4.0.2 and qt4 and not to SL 10.
-- mdc
you have a very good point I'm not using gcc-4 on my other system, as I did forget Suse 10 has gcc-4. I do know however that on all other distro's (none of which have gcc-4) that it does compile fine. I will test the other systems now.
meister@netz00.com wrote:
Am Donnerstag, 8. September 2005 17:16 schrieb Tom Bruno <tom@limesg.com>:
Adrian Schroeter wrote: Q3Support is there because i use Q3Table, if you were to want to using a qt3 sting, it would be Q3String. If such a thing exists.
Hi Tom,
as the assistant says, there is no such thing "Q3String", but there is a "Q3CString".
in qstring.h: inline std::string toStdString() const;
Maybe you have to declare the Namespace? Or try to decrease the optimisation level (omit -O2). But I thing this is a topic that's better dicussed on a trolltech qt mailing list. I think is's related to gcc 4.0.2 and qt4 and not to SL 10.
I have tested qt4 building with gcc 4.0.0, 4.0.1, 4.0.2 and qt4 on other distributions. Building works fine. I do believe that possibly qt4 is being built without std support. This cannot be related to qt3support, because all the others builds have qt3support enabled aswell. I use both qsting from qt4, and q3support just fine together at the same time.
-- mdc
--------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-unsubscribe@opensuse.org For additional commands, e-mail: opensuse-help@opensuse.org
On Tuesday 13 September 2005 17:44, Tom Bruno wrote:
I do believe that possibly qt4 is being built without std support.
It's configured with -no-stl, thus no STL support for SUSE's qt4. I just filed an enhancement bug report, see https://bugzilla.novell.com/show_bug.cgi?id=116804 Maybe they change it. I think there speaks nothing against having STL support. Cheers, Andreas
I had just started looking into the rpm spec and stuff and also found -no-stl and was about to file a bug report. Thanks Andreas Simon wrote:
On Tuesday 13 September 2005 17:44, Tom Bruno wrote:
I do believe that possibly qt4 is being built without std support.
It's configured with -no-stl, thus no STL support for SUSE's qt4. I just filed an enhancement bug report, see https://bugzilla.novell.com/show_bug.cgi?id=116804
Maybe they change it. I think there speaks nothing against having STL support.
Cheers, Andreas
--------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-unsubscribe@opensuse.org For additional commands, e-mail: opensuse-help@opensuse.org
I rebuilt the rpm with stl enabled, and am now able to compile fine. I didn't think it was qt3support, since qt3support is PART of the qt4 distribution, not simply qt3 installed in a different location. Wouldn't make since it it wasn't compat.
On Thursday 08 September 2005 13:03, meister@netz00.com wrote:
BTW: How do you manage "uic: File generated with too old version of Qt Designer" ? Recreating all Forms can not be the only solution (I hope).
I had this prob in older versions of Qt, too. my quick hack was to use a sed script in my Makefiles and I replaced the version number to a lower one... :) /* HACK ALARM */ but it worked :) greets, Mike
Am Donnerstag, 8. September 2005 16:31 schrieb Michael Kropfberger:
On Thursday 08 September 2005 13:03, meister@netz00.com wrote:
BTW: How do you manage "uic: File generated with too old version of Qt Designer" ? Recreating all Forms can not be the only solution (I hope).
Hi Michael,
I had this prob in older versions of Qt, too. my quick hack was to use a sed script in my Makefiles and I replaced the version number to a lower one... :)
a _lower_ one ?!?
/* HACK ALARM */ but it worked :)
Have you tested this hack with qt3 ==> qt4 ? -- mdc
On Thursday 08 September 2005 17:10, meister@netz00.com wrote:
Am Donnerstag, 8. September 2005 16:31 schrieb Michael Kropfberger:
On Thursday 08 September 2005 13:03, meister@netz00.com wrote:
BTW: How do you manage "uic: File generated with too old version of Qt Designer" ? Recreating all Forms can not be the only solution (I hope).
Hi Michael,
I had this prob in older versions of Qt, too. my quick hack was to use a sed script in my Makefiles and I replaced the version number to a lower one... :)
a _lower_ one ?!?
well, eg. I changed 3.3.4 down to 3.1 first line in the .ui file: <!DOCTYPE UI><UI version="3.1" stdsetdef="1">
Have you tested this hack with qt3 ==> qt4 ?
no, sorry.... greets, Mike
participants (5)
-
Adrian Schroeter
-
Andreas Simon
-
meister@netz00.com
-
Michael Kropfberger
-
Tom Bruno