I'm trying to build the openrpt apps from source, but I'm guessing I'm using too recent a version of Qt (Qt-4.3.3).
What version do you guys use to build against?
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-4.3.3/mkspecs/linux-g++-64 -I. -I/usr/local/Trolltech/Qt-4.3.3/include/QtCore -I/usr/local/Trolltech/Qt-4.3.3/include/QtCore -I/usr/local/Trolltech/Qt-4.3.3/include/QtGui -I/usr/local/Trolltech/Qt-4.3.3/include/QtGui -I/usr/local/Trolltech/Qt-4.3.3/include -I. -Icommon -Igraph -IMetaSQL -IOpenRPT/common -IOpenRPT/import_gui -IOpenRPT/renderer -IOpenRPT/writer -IOpenRPT/wrtembed -IOpenRPT/images -I. -I. -o dbtools.o common/dbtools.cpp
In file included from common/dbtools.cpp:21:
common/dbtools.h:25:24: error: QSqlDatabase: No such file or directory
common/dbtools.h:39: error: ‘QSqlDatabase’ does not name a type
common/dbtools.cpp:57: error: ‘QSqlDatabase’ does not name a type
but QSqlDatabase is now in:
which didn't get put in the include list by qtmake.
OK.. replying to myself.. I got past the QtSql include problem by hand-editing the generated Makefile to include the QtSql include directory.. but then hit a bunch of other compile errors, that may also be Qt Version related:
common/languageoptions.cpp:16: error: ‘class QSettings’ has no member named ‘readEntry’
common/languageoptions.cpp: In member function ‘void LanguageOptions::addLanguage(QString, QString)’:
common/languageoptions.cpp:32: error: aggregate ‘QStringList content’ has incomplete type and cannot be defined
common/languageoptions.cpp: In member function ‘void LanguageOptions::addTranslation(QString, QString)’:
common/languageoptions.cpp:40: error: no match for ‘operator<<’ in ‘((LanguageOptions*)this)->LanguageOptions::_languages. QMap<Key, T>::operator [with Key = QString, T = QStringList](((const QString&)((const QString*)(& languageID)))) << translationFile’
common/languageoptions.cpp: In member function ‘void LanguageOptions::select(QString)’:
common/languageoptions.cpp:49: error: no matching function for call to ‘QSettings::setPath(const char , const char , QSettings::Scope)’
/usr/local/Trolltech/Qt-4.3.3/include/QtCore/qsettings.h:167: note: candidates are: static void QSettings::setPath(QSettings::Format, QSettings::Scope, const QString&)
common/languageoptions.cpp:50: error: ‘class QSettings’ has no member named ‘writeEntry’
common/languageoptions.cpp: In member function ‘void LanguageOptions::installLanguage(QString)’:
common/languageoptions.cpp:55: error: variable ‘QStringList content’ has initializer but incomplete type
blah blah blah... until finally:
/usr/local/Trolltech/Qt-4.3.3/include/QtCore/qmap.h:694: error: ‘struct QMap<QString, QStringList>::Node’ has no member named ‘value’
make: *** [languageoptions.o] Error 1
We've been building OpenRPT with Qt 4.3.2 but I don't think it's Qt 4.3.3 that's causing your build errors.
The errors you see are probably caused by your Qt installation not having full Qt3 backwards-compatibility code. If you're using Qt that you built from sources, try reconfiguring with the -qt3support option and reinstalling.
If you are using a binary distribution, try to find one with Qt3 support built in, although this /might/ not work. We've heard of problems with some binary distributions where the Qt3 support is incomplete. The safest way to build OpenRPT is currently to build Qt yourself.