Qt 4.6 & Visual Studio 2008
-
Hallo.
Ich wollt gestern mal Qt ausprobierne und mir das aktuelle SDK geladen. Dann habe ich gemerkt, dass, wenn ich das Ding mit Visual Studio benutzen will ich alles selben builden darf und das ein paar Stunden geht.Heute dann ausprobiert und dem Tutorial gefolgt:
http://netindonesia.net/blogs/risman/archive/2009/04/02/qt-4-5-with-visual-studio-2008-vc-express.aspxconfigure hat geklappt, und nmake auch ein paar Stunden lang.. Aber irgendwann dann bekam ich Linkerfehler.
QNetworkReplyHandler.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual struct QMetaObject const * __thiscall WebCore::FormDataIODevice::metaObject(void)const "(?metaObject@FormDataIODevice@WebCore@@UBEPBUQMetaObject@@XZ)".
QNetworkReplyHandler.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: virtual void * __thiscall WebCore::FormDataIODevice::qt_metacast(charconst *)" (?qt_metacast@FormDataIODevice@WebCore@@UAEPAXPBD@Z)".
um mal die ersten beiden von ca. 10 zu nennen.
Ich habe das aktuelle SDK (4.6), sowie Visual Studio 2008 Prof. und Windows XP mit SP 3.
So, wies aussieht fehlt aber eh irgendwas anderes von QT selbst..
Bin für Tipps dankbar. Ich geh jetzt joggen.
btw:
Warum bieten die nicht ne ein fertig kompiliertes Paket an?! War ja klar, dass es nach ein paar Stunden abbricht und ich dann alles iwie nochmal machen darf.. So kommt man echt nicht vorwärts.. -.-
-
Das SDK enthält AFAIK Qt vorkompiliert + den Creator.
Die verwenden halt (aus lizenzgründen) MinGW (Glaube sogar den neuesten mit GCC-4.2, bin aber nicht sicher, hab kein Windows...)
Ich würd mir auch nicht das sdk runterladen, sondern einfach nur die Sources.Die offizielle Installationsanleitung für Qt auf Windows kennst du ja sicher schon.
Zu den angeführten Linker errors:
Die Methoden werden automatisch erstellt durch das Q_OBJECT-Macro, und landen in einem eigenen File. Kann es sein dass bei dir irgendwelche PATHs noch nicht richtig eingestellt sind, oder QTDIR etc nicht ganz passen?
Ich bin mir nicht sicher, aber glaub gelesen zu haben dass es u.U. bei Leerzeichen im Pfad zu Problemen kommt. Unter Linux kenn ich keine Leerzeichen im Pfad, kann also nix dazu sagen
-
Ja, aber ich denke halt, dass es nicht gerade wenige VS User gibt, die Qt benutzen und das es da nix offizielles kompiliertes gibt finde ich einfach merkwürdig.
Aber auf jeden Fall schon mal danke für die Tipps. Werde mal schauen, ob da was schief gelaufen ist. (Das blöde ist nur, dass ich dann erst wieder in ein paar Studnen sehe, ob es geklappt hat.. -.-)
-
Habe jetzt alles genau nach der offiziellen Anleitung gemacht und ich bekomme immernoch diese Linkerfehler..
Irgendwie scheint alles von einem Networking Modul zu kommen..
/EDIT:
link /LIBPATH:"c:\Programme\Qt\2009.05\qt\lib" /LIBPATH:"c:\Programme\Qt
\2009.05\qt\lib" /NOLOGO /DEBUG /DLL /MANIFEST /MANIFESTFILE:"obj/debug\QtWebKit
d.intermediate.manifest" /VERSION:4.60 /OUT:..\..\..\..\lib\QtWebKitd4.dll @C:\D
OKUME1\CHRIST1\LOKALE~1\Temp\nm37D.tmp
Bibliothek "..\..\..\..\lib\QtWebKitd4.lib" und Objekt "..\..\..\..\lib\QtWeb
Kitd4.exp" werden erstellt.
QNetworkReplyHandler.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""pu
blic: virtual struct QMetaObject const * __thiscall WebCore::FormDataIODevice::m
etaObject(void)const " (?metaObject@FormDataIODevice@WebCore@@UBEPBUQMetaObject@
@XZ)".
QNetworkReplyHandler.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""pu
blic: virtual void * __thiscall WebCore::FormDataIODevice::qt_metacast(char cons
t *)" (?qt_metacast@FormDataIODevice@WebCore@@UAEPAXPBD@Z)".
QNetworkReplyHandler.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""pu
blic: virtual int __thiscall WebCore::FormDataIODevice::qt_metacall(enum QMetaOb
ject::Call,int,void * *)" (?qt_metacall@FormDataIODevice@WebCore@@UAEHW4Call@QMe
taObject@@HPAPAX@Z)".
QNetworkReplyHandler.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""pu
blic: virtual struct QMetaObject const * __thiscall WebCore::QNetworkReplyHandle
r::metaObject(void)const " (?metaObject@QNetworkReplyHandler@WebCore@@UBEPBUQMet
aObject@@XZ)".
QNetworkReplyHandler.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""pu
blic: virtual void * __thiscall WebCore::QNetworkReplyHandler::qt_metacast(char
const *)" (?qt_metacast@QNetworkReplyHandler@WebCore@@UAEPAXPBD@Z)".
QNetworkReplyHandler.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""pu
blic: virtual int __thiscall WebCore::QNetworkReplyHandler::qt_metacall(enum QMe
taObject::Call,int,void * *)" (?qt_metacall@QNetworkReplyHandler@WebCore@@UAEHW4
Call@QMetaObject@@HPAPAX@Z)".
QNetworkReplyHandler.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol ""protected: void __thiscall WebCore::QNetworkReplyHandler::processQueue
dItems(void)" (?processQueuedItems@QNetworkReplyHandler@WebCore@@IAEXXZ)" in Fun
ktion ""public: void __thiscall WebCore::QNetworkReplyHandler::setLoadMode(enum
WebCore::QNetworkReplyHandler::LoadMode)" (?setLoadMode@QNetworkReplyHandler@Web
Core@@QAEXW4LoadMode@12@@Z)".
FrameLoaderClientQt.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol ""protected: void __thiscall QWebPage::unsupportedContent(class QNetworkR
eply *)" (?unsupportedContent@QWebPage@@IAEXPAVQNetworkReply@@@Z)" in Funktion "
"public: virtual void __thiscall WebCore::FrameLoaderClientQt::download(class We
bCore::ResourceHandle *,struct WebCore::ResourceRequest const &,struct WebCore::
ResourceRequest const &,class WebCore::ResourceResponse const &)" (?download@Fra
meLoaderClientQt@WebCore@@UAEXPAVResourceHandle@2@ABUResourceRequest@2@1ABVResou
rceResponse@2@@Z)".
FrameLoaderClientQt.obj : error LNK2019: Verweis auf nicht aufgelöstes externes
Symbol ""protected: void __thiscall QWebPage::downloadRequested(class QNetworkRe
quest const &)" (?downloadRequested@QWebPage@@IAEXABVQNetworkRequest@@@Z)" in Fu
nktion ""public: virtual void __thiscall WebCore::FrameLoaderClientQt::startDown
load(struct WebCore::ResourceRequest const &)" (?startDownload@FrameLoaderClient
Qt@WebCore@@UAEXABUResourceRequest@2@@Z)".
..\..\..\..\lib\QtWebKitd4.dll : fatal error LNK1120: 9 nicht aufgelöste externe
Verweise.
NMAKE : fatal error U1077: ""c:\Programme\Microsoft Visual Studio 9.0\VC\BIN\lin
k.EXE"": Rückgabe-Code "0x460"
Stop.
NMAKE : fatal error U1077: ""c:\Programme\Microsoft Visual Studio 9.0\VC\BIN\nma
ke.exe"": Rückgabe-Code "0x2"
Stop.
NMAKE : fatal error U1077: "cd": Rückgabe-Code "0x2"
Stop.Die Fehlermeldung in ihrer ganzen Pracht.
Sonst noch Ideen, woran es liegen könnte?
-
Auch ganz hilfreich:
http://www.qt-apps.org/content/show.php/CuteBuilder?content=92022
-
Wie wäre es damit?
Funktioniert bei mir wunderbar!!!Michael
-
Ja, mittlerweilen habe ich schon auch gebuildetes Zeugs gefunden, aber ich will jetzt wissen, wo das Problem ist, wenn ich das selbst mache..
Jetzt will ichs erst recht selbst machen.
btw:
Mittlerweilen habe ich einen neuen Linkerfehler, der sich dazugesellt.Die Datei "winmm.lib" kann nicht geöffnet werden.
Es ist zum Mäuse melken..
-
I had the same problem and it's easily fixed. Remove the following files and run nmake again:
src/3rdparty/webkit/WebCore/tmp/moc/{debug,release}_shared/mocinclude.tmp
src/script/tmp/moc/{debug,release}_shared/mocinclude.tmp
-
Danke. Das sieht gut aus. Bin wieder am builden, aber bis jetzt gabs keine Fehler mehr. Also ein gutes Zeichen.
So. Nach ca. 5 Stunden ist nun alles gebuildet. Ein Example habe ich auch mal ausprobiert. Scheint zu funktionieren.
Danke nochmal für den Tipp mit den Files!