Seite 1 von 1
qmake Problem
Verfasst: 1. August 2006 14:42
von WoodyWoodpecker
Hi leute,
ich hab ein kleines Problem mit qmake.
ich hab mir (für Windows) das Qt4.1 mit MinGW installiert und danach den Qt 4.1.3 Command Prompt aufgerufen.
Dann hab ich ein .pro-File erstellt
Code: Alles auswählen
CONFIG += qt
HEADERS += hello.h
SOURCES += hello.cpp
SOURCES += main.cpp
und mit qmake -o Makefile hello.pro das Makefile generiert.
Das hat auch alles wunderbar geklappt.
Danach wollte ich mit "make" das ganze kompilieren. Hier bekam ich dann folgenden Fehler:
Code: Alles auswählen
C:\MinGW\bin\..\lib\gcc-lib\mingw32\3.2.3\..\..\..\..\mingw32\bin\ld.exe: cannot find -lQtGuid4
mingw32-make[1]: *** [debug\hello.exe] Error 1
mingw32-make[1]: Leaving directory `C:/Qt/4.1.4/examples/qmake/tutorial'
mingw32-make: *** [debug-all] Error 2
er sagt das er "-lQtGuid4" nicht finden kann. Leider kann ich mit diesem Fehler nicht zuviel anfangen da ich absoluter Qt-Neuling bin.
Vielleicht kann mir hier jemand helfen.
Danke, mfg woody
Verfasst: 1. August 2006 16:19
von BartSimpson
Er versucht die Debugversion von deinem Programm zu erzeugen. Dir fehlen jedoch die Debug Libs.->Debuglibs erzeugen!!
Verfasst: 1. August 2006 20:00
von WoodyWoodpecker
ok, kannst du mir vielleicht sagen wie ich das mache?
Ich hab bis jetzt nur das "configure" skript ausgeführt
mfg woody
Verfasst: 1. August 2006 21:19
von BartSimpson
wie haste denn qt installiert? aus derr exe oder dem zip archiev?
Verfasst: 2. August 2006 07:26
von WoodyWoodpecker
aus der exe also dem installer mit mingw
Verfasst: 2. August 2006 07:39
von Christian81
Dann gibts im Startmenü einen Menüpunkt für.
Verfasst: 2. August 2006 09:35
von WoodyWoodpecker
also wenn ich Qt 4.1.4 (Build Debug Libraries) aufrufe legt er zwar los aber nach einiger Zeit kommt diese Exception
Code: Alles auswählen
g++: global\qt_pch.h: linker input file unused because linking not done
g++ -c -include tmp\obj\debug_shared\qt_pch.h -g -g -Wall -frtti -fexceptions -DQT_SHARED -DQT_THREAD_SUPPORT -DUNICODE -DQT_LARGEFIL
E_SUPPORT -DQT_BUILD_CORE_LIB -DQT_MAKEDLL -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_DLL -I"C:/Qt/4.1.4/include" -I"C:/Qt/4.1.4/include/QtCo
re" -I"tmp" -I"C:/Qt/4.1.4/src/corelib/global" -I"..\3rdparty\zlib" -I"C:/Qt/4.1.4/include/ActiveQt" -I"tmp\moc\debug_shared" -I"." -
I"..\..\mkspecs\win32-g++" -o tmp\obj\debug_shared\qglobal.o global\qglobal.cpp
global/qglobal.cpp: tmp\obj\debug_shared\qt_pch.h: No such file or directory
mingw32-make[2]: *** [tmp\obj\debug_shared\qglobal.o] Error 1
mingw32-make[2]: Leaving directory `C:/Qt/4.1.4/src/corelib'
mingw32-make[1]: *** [debug] Error 2
mingw32-make[1]: Leaving directory `C:/Qt/4.1.4/src/corelib'
weiß jemand wie ich dieses Problem lösen könnte?
mfg woody
Verfasst: 2. August 2006 09:51
von Christian81
Dein gcc kann wohl noch keine pch... komisch dass es dann aktiviert ist. Hast Du den aktuellen gcc von MinGW?
Entferne mal 'precompile_header' aus der Datei qt-4.1.4\mkspecs\win32-g++\qmake.conf
Verfasst: 2. August 2006 11:01
von WoodyWoodpecker
also ich hab das genutzt was ich runtergeladen hab (da war alles dabei) sonst hab ich nix verändert
<edit>
ich hab des jetzt mal rausgenommen was du gesagt hast, jetzt bekomm ich den compile-Fehler
Code: Alles auswählen
C:/Qt/4.1.4/src/xml/qdom.cpp:85: undefined reference to `QString::operator==(QString const&) const'
tmp\obj\debug_shared\qdom.o(.text$_ZN9QHashNodeI7QStringP15QDomNodePrivateE8same_keyEjRKS0_+0x26):C:/Qt/4.1.4/src/xml/qdom.cpp:83: un
defined reference to `QString::operator==(QString const&) const'
tmp\obj\debug_shared\qdom.o(.text$_ZN10QByteArray7replaceEiiPKc+0x78):C:/Qt/4.1.4/src/xml/qdom.cpp:86: undefined reference to `QByteA
rray::replace(int, int, QByteArray const&)'
tmp\obj\debug_shared\qdom.o(.text$_ZN10QTextCodec12codecForNameEPKc+0x4e):C:/Qt/4.1.4/src/xml/qdom.cpp:84: undefined reference to `QB
yteArray::QByteArray(char const*)'
mingw32-make[2]: *** [..\..\lib\QtXmld4.dll] Error 1
mingw32-make[2]: Leaving directory `C:/Qt/4.1.4/src/xml'
mingw32-make[1]: *** [debug] Error 2
mingw32-make[1]: Leaving directory `C:/Qt/4.1.4/src/xml'
mingw32-make: *** [debug-xml] Error 2
vielleicht noch einen tipp?
Verfasst: 4. August 2006 09:03
von WoodyWoodpecker
keiner der noch ne lösung weiß?

Verfasst: 4. August 2006 09:10
von Christian81
Irgendwas passt bei Dir nicht. Hast Du evtl. verschiedene Qt-Versionen installiert, oder noch irgendwo anders gcc/ld ?
Hattest Du vor dem neukompilieren auch alle alten object-Dateien gelöscht?
Evtl. solltest du mal alles von Hand kompilieren indem du das Source-package runterlädst und dann mit configure.exe anfängst.
/edit:
QString::operator==(const QString&s) const ist in QtCoreD.dll. Lösche die mal und lösche auch qstring.o (bzw. qstring.obj) damit das neu kompiliert wird. Evtl. hilft das ja schon...
Verfasst: 4. August 2006 14:50
von WoodyWoodpecker
also ich hatte auf diesem pc davor kein Qt oder gcc installiert (noch nicht einmal einen anderen cpp-Compiler)
ich werd das gleich mal versuchen
<edit>
des löschen bringt auch nichts.
vielleicht noch eine idee?
ich werde dann mal versuchen mir nochmal nur die sourcen zu ziehen und dann zu kompilieren
mfg woody