Errors when building QT 4.7.3 from source
-
These are some of the errors:
@
In file included from project.cpp:42:
project.h:45:25: error: qstringlist.h: No such file or directory
project.h:46:25: error: qtextstream.h: No such file or directory
project.h:47:21: error: qstring.h: No such file or directory
project.h:48:20: error: qstack.h: No such file or directory
project.h:49:18: error: qmap.h: No such file or directory
project.h:50:23: error: qmetatype.h: No such file or directory
In file included from property.h:45,
from project.cpp:43:
C:QtSDKQtSources4.7.3/src/corelib/global/qglobal.h:62:28: error: QtCore/qconf
ig.h: No such file or directory
C:QtSDKQtSources4.7.3/src/corelib/global/qglobal.h:1173:31: error: QtCore/qfe
atures.h: No such file or directory
In file included from project.cpp:44:
option.h:48:19: error: qfile.h: No such file or directory
In file included from project.cpp:45:
cachekeys.h:49:23: error: qfileinfo.h: No such file or directory
cachekeys.h:50:19: error: qhash.h: No such file or directory
In file included from project.cpp:46:
generators/metamakefile.h:47:19: error: qlist.h: No such file or directory
project.cpp:48:23: error: qdatetime.h: No such file or directory
project.cpp:51:18: error: qdir.h: No such file or directory
project.cpp:52:21: error: qregexp.h: No such file or directory
project.cpp:56:20: error: qdebug.h: No such file or directory
In file included from project.cpp:67:
C:QtSDKQtSources4.7.3/tools/shared/symbian/epocroot_p.h:56:28: error: QtCore/
qstring.h: No such file or directory
In file included from project.cpp:42:
project.h:54: error: expected constructor, destructor, or type conversion before
'class'
project.h:69: error: 'uint' does not name a type
project.h:75: error: ISO C++ forbids declaration of 'QStack' with no type
project.h:75: error: expected ';' before '<' token
project.h:76: error: ISO C++ forbids declaration of 'QStack' with no type
project.h:76: error: expected ';' before '<' token
project.h:79: error: ISO C++ forbids declaration of 'QMap' with no type
project.h:79: error: expected ';' before '<' token
project.h:84: error: 'QString' does not name a type
project.h:85: error: ISO C++ forbids declaration of 'QMakeProperty' with no typeproject.h:85: error: expected ';' before '' token
project.h:87: error: ISO C++ forbids declaration of 'QMap' with no type
project.h:87: error: expected ';' before '<' token
project.h:88: error: ISO C++ forbids declaration of 'QString' with no type
project.h:88: error: expected ',' or '...' before '&' token
project.h:103: error: 'QString' has not been declared
project.h:103: error: 'uchar' has not been declared
project.h:103: error: 'QMap' has not been declared
project.h:103: error: expected ',' or '...' before '<' token
project.h:105: error: ISO C++ forbids declaration of 'QStringList' with no type
project.h:105: error: expected ',' or '...' before '&' token
project.h:106: error: 'QString' has not been declared
project.h:106: error: 'QMap' has not been declared
project.h:106: error: expected ',' or '...' before '<' token
project.h:107: error: 'QStringList' does not name a type
project.h:108: error: 'QMakeProperty' has not been declared
project.h:108: error: ISO C++ forbids declaration of 'QMap' with no type
project.h:108: error: expected ',' or '...' before '<' token
project.h:109: error: ISO C++ forbids declaration of 'QStringList' with no type
project.h:109: error: expected ';' before '&' token
project.h:114: error: expected ')' before '' token
project.h:115: error: ISO C++ forbids declaration of 'QMap' with no type
project.h:115: error: expected ',' or '...' before '<' token
project.h:116: error: ISO C++ forbids declaration of 'QMap' with no type
project.h:116: error: expected ',' or '...' before '<' token
project.h:117: error: expected ')' before '*' token
project.h:122: error: ISO C++ forbids declaration of 'QString' with no type
project.h:122: error: expected ',' or '...' before '&' token
project.h:122: error: 'bool QMakeProject::parse(int)' cannot be overloaded
project.h:88: error: with 'bool QMakeProject::parse(int)'
project.h:123: error: ISO C++ forbids declaration of 'QString' with no type
project.h:123: error: expected ',' or '...' before '&' token
project.h:124: error: 'uchar' has not been declared
project.h:124: error: 'bool QMakeProject::read(int)' cannot be overloaded
project.h:123: error: with 'bool QMakeProject::read(int)'
project.h:126: error: 'QStringList' does not name a type
project.h:127: error: 'QStringList' does not name a type
project.h:129: error: 'QString' does not name a type
project.h:130: error: ISO C++ forbids declaration of 'QMakeProperty' with no typ
e@ -
(Re)-Compiling Qt from the sources within the SDK is know to cause problems. If you need a manually compiled version, I recommend to grab the sources from http://qt.nokia.com/downloads and use that one.
-
You need perl in the path, I had the same issue. Download "activeperl":http://www.activestate.com/activeperl/downloads and your problems will go away ;-)
-
ucomesdag:
That helped but there are still 3 or 4 errors:@header created for C:/QtSDK/QtSources/4.7.3/src/qt3support/widgets/q3whatsthis.h
(2)
header created for C:/QtSDK/QtSources/4.7.3/src/qt3support/widgets/q3widgetstack
.h (2)
header (master) created for Qt3Support
headers.pri file created for Qt3Support
Creating qmake...
g++ -c -oproject.o -O -I. -Igenerators -Igenerators/unix -Igenerators/win32 -Ige
nerators/mac -Igenerators/symbian -IC:\QtSDK\QtSources\4.7.3/include -IC:\QtSDK
QtSources\4.7.3/include/QtCore -IC:\QtSDK\QtSources\4.7.3/include -IC:\QtSDK\QtS
ources\4.7.3/include/QtCore -IC:\QtSDK\QtSources\4.7.3/src/corelib/global -IC:\Q
tSDK\QtSources\4.7.3/src/corelib/xml -IC:\QtSDK\QtSources\4.7.3/mkspecs/win32-g+- -IC:\QtSDK\QtSources\4.7.3/tools/shared -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLE
S -DQT_LITE_COMPONENT -DQT_NO_PCRE -DQT_NODLL -DQT_NO_STL -DQT_NO_COMPRESS -DUNI
CODE -DHAVE_QCONFIG_CPP -DQT_BUILD_QMAKE -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_
GEOM_VARIANT -DQT_NO_DATASTREAM -DQT_BOOTSTRAPPED -DQLIBRARYINFO_EPOCROOT -DQMAK
E_OPENSOURCE_EDITION project.cpp
project.cpp: In member function 'QStringList& QMakeProject::values(const QString
&, QMap<QString, QStringList>&)':
project.cpp:3004: error: 'class QDateTime' has no member named 'toString'
mingw32-make: *** [project.o] Error 1
del project.o main.o makefile.o unixmake.o unixmake2.o mingw_make.o option.o win
makefile.o projectgenerator.o property.o meta.o makefiledeps.o metamakefile.o xm
loutput.o pbuilder_pbx.o borland_bmake.o msvc_nmake.o msvc_vcproj.o msvc_vcxproj
.o msvc_objectmodel.o msbuild_objectmodel.o symmake.o initprojectdeploy_symbian.
o symmake_abld.o symmake_sbsv2.o symbiancommon.o registry.o epocroot.o qbitarray
.o qbuffer.o qbytearray.o qcryptographichash.o qvsnprintf.o qbytearraymatcher.o
qconfig.o qdatetime.o qdir.o qdiriterator.o qfile.o qtemporaryfile.o qfileinfo.o
qabstractfileengine.o qfsfileengine.o qfsfileengine_iterator.o qfsfileengine_wi
n.o qfsfileengine_iterator_win.o qglobal.o qhash.o qiodevice.o qlibraryinfo.o ql
ist.o qlinkedlist.o qlocale.o qmalloc.o qmap.o qregexp.o qtextcodec.o qutfcodec.
o qstring.o qstringlist.o qsystemlibrary.o qtextstream.o quuid.o qvector.o qurl.
o qsettings.o qsettings_win.o qvariant.o qmetatype.o qxmlstream.o qxmlutils.o qn
umeric.o
C:\QtSDK\QtSources\4.7.3\qmake\project.o konnte nicht gefunden werden
g++ -c -oproject.o -O -I. -Igenerators -Igenerators/unix -Igenerators/win32 -Ige
nerators/mac -Igenerators/symbian -IC:\QtSDK\QtSources\4.7.3/include -IC:\QtSDK
QtSources\4.7.3/include/QtCore -IC:\QtSDK\QtSources\4.7.3/include -IC:\QtSDK\QtS
ources\4.7.3/include/QtCore -IC:\QtSDK\QtSources\4.7.3/src/corelib/global -IC:\Q
tSDK\QtSources\4.7.3/src/corelib/xml -IC:\QtSDK\QtSources\4.7.3/mkspecs/win32-g+ - -IC:\QtSDK\QtSources\4.7.3/tools/shared -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLE
S -DQT_LITE_COMPONENT -DQT_NO_PCRE -DQT_NODLL -DQT_NO_STL -DQT_NO_COMPRESS -DUNI
CODE -DHAVE_QCONFIG_CPP -DQT_BUILD_QMAKE -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_
GEOM_VARIANT -DQT_NO_DATASTREAM -DQT_BOOTSTRAPPED -DQLIBRARYINFO_EPOCROOT -DQMAK
E_OPENSOURCE_EDITION project.cpp
project.cpp: In member function 'QStringList& QMakeProject::values(const QString
&, QMap<QString, QStringList>&)':
project.cpp:3004: error: 'class QDateTime' has no member named 'toString'
mingw32-make: *** [project.o] Error 1
Building qmake failed, return code 2@
- -IC:\QtSDK\QtSources\4.7.3/tools/shared -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLE
-
-
[quote author="Volker" date="1303818302"]
[quote author="ucomesdag" date="1303596988"]Btw the regular sources also seem to need perl for syncqt.[/quote]syncqt is not needed for regular sources. I used to compile Qt myself on windows for years, I had no problems ever.[/quote]
Same here, but because of the issue with the QtSources that come with the SDK I downloaded the regular sources cause I did'nt want to install perl, if I could have lived without it why install it now, and I had exactly the same issue it needed perl. -
syncqt is only needed if the source tree is different from the build tree (according to the configure shell script). I never needed perl on my Windows box when I compiled Qt mysql for a couple of years (always using the regular sources of the framework, no SDK; using MSVS). What are your configure options?
-
[quote author="Volker" date="1304013778"]syncqt is only needed if the source tree is different from the build tree (according to the configure shell script). I never needed perl on my Windows box when I compiled Qt mysql for a couple of years (always using the regular sources of the framework, no SDK; using MSVS). What are your configure options?[/quote]
None as I always used when compiling from source. -
I just ran two configure sessions for Qt 4.7.3, and all went without any problems.
Setup:
- Installed Qt Creator 2.2.0
- downloaded qt-everywhere-commercial-src-4.7.3.tar.gz (the open source should be fairly identical, except of licensing files)
- extract the archive
- cd into the extracted directory
- ran .\configure.exe in Visual Studio 2008 command prompt
- opened cmd.exe, put C:\Qt\qtcreator-2.2.0\mingw\bin into PATH and ran .\configure.exe -platform win32-g++ -qconfig minimal
No hassles with missing perl (it is not installed!) in both cases, no call of syncqt.