2009-08-12 8 views
4

Ich versuche, meine Visual Studio Qt-Plug-in zur Arbeit zu kommen, so die Qt-Bibliotheken neu kompilieren i die folgenden Befehle von einer VS-Eingabeaufforderung lief:Kompilieren von Qt-Bibliotheken für die Ausführung mit Visual Studio 2008, warum schlägt nmake fehl?

c:\*Qtfolder*>configure -platform -win32-msvc2008 

Danach ich Nmake lief und begann die Kompilierungsprozess. Es dauerte ungefähr 45 Minuten, bevor es wegen Verknüpfungsfehlern abbrach. Ich habe insgesamt acht "nicht aufgelöste externe Symbol" -Fehler, alle von QNetworkReplyHandler.obj und FrameLoaderClientQt.obj. Keine dieser Bibliotheken benötige ich, aber die Kompilierung wird aufgrund ihrer Fehler abgebrochen. Wenn es abbricht, scheint der Rest der Bibliotheken fast fertig zu sein, in der Tat kann ich sogar meine Qt-Projekte in Visual Studio laden und kompilieren, sie laufen einfach nur, weil wahrscheinlich nicht alle Bibliotheken kompiliert werden. Ist jemand darauf gestoßen oder weiß vielleicht warum nmake versagt?

Es scheint so, als könnte ich entweder dem Compiler sagen, trotz der Fehler weiterzumachen oder die fehlerhaften Bibliotheken wegzulassen. Qt's configure hat viele Optionen, aber ich kann keine finden, die das tun, was ich brauche, und leider kann ich keine Online-Referenz von Qt's Konfigurationsoptionen finden, alles, was mit einer Google-Suche aufkommt, ist für "Qtopia" für einige Grund.

Hier ist der letzte Fehler. Es gibt sieben weitere, die im Grunde genau der gleiche Fehler sind, nur für verschiedene Symbole

FrameLoaderClientQt.obj : error LNK2019: unresolved external symbol "protected: 
void __thiscall QWebPage::downloadRequested(class QNetworkRequest const &)" (?do 
[email protected]@@[email protected]@@Z) referenced in function "pu 
blic: virtual void __thiscall WebCore::FrameLoaderClientQt::startDownload(struct 
WebCore::ResourceRequest const &)" ([email protected]@[email protected] 
@[email protected]@@Z) 
..\..\..\..\lib\QtWebKitd4.dll : fatal error LNK1120: 8 unresolved externals 
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN 
\link.EXE"' : return code '0x460' 
Stop. 
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN 
\nmake.exe"' : return code '0x2' 
Stop. 
NMAKE : fatal error U1077: 'cd' : return code '0x2' 
Stop. 
+1

Könnten wir diese nicht aufgelöstes externes Symbol Fehler sehen? – richardwb

+0

@richard, Ich habe es zu der Frage hinzugefügt –

Antwort

4

Offensichtlich können Sie diesen speziellen Fehler umgehen, indem Sie die beiden Instanzen mocinclude.tmp in src/3rdparty/webkit/WebCore/tmp/moc/{debug,release}_shared löschen. (Source).

Als Nebenbei, wenn Sie configure ausführen, können Sie ein 'Hilfe' Argument übergeben, um eine Liste der Argumente zu erhalten, die es versteht (d. H. configure help).

+0

Danke, ich werde es versuchen. Ich habe die configure-Hilfe auf meinem Computer gesehen, es ist nur so, dass ich keine Online-Referenz finden konnte, auf die ich verlinken könnte. Am Ende habe ich versucht, die Option/K für nmake zu verwenden, um nach den Fehlern fortzufahren, aber ich habe das gleiche Problem. –

+0

Diese Lösung hat am besten funktioniert. Wenn Sie die Option -no-webkit ausführen, kompiliert es erfolgreich, aber wenn Sie versuchen, Ihre Qt-Projekte in VS zu importieren, schlägt es mit einem Fehler "inkompatible Qt-Bibliotheken" (oder so ähnlich) fehl. –

2

nicht sicher, ob dies helfen wird, aber hier sind die Konfigurationsoptionen I erfolgreich verwendet, um Qt 4.5 für Visual Studio Express 2008 auf Vista zu bauen:

C: \ Qt \ 2009.01 \ configure -NO-SQL-sqlite -NO-qt3support -NO-opengl -Plattform Win32-msvc2008 -NO-libtiff -NO-dbus -NO-Phonon-Phonon -NO -backend -no-webkit

Ich habe das von thi s Qt 4.5 with Visual Studio 2008 (VC++ Express) HowTo.

Stellen Sie sicher, dass Sie alle Anweisungen befolgen, um die Beispiele zum Erstellen von VS zu erhalten.

+0

Das ist eine der wichtigsten Referenzen, die ich verwendet habe, habe ich versucht, mit den Befehlszeilenparametern für configure.exe zu spielen, aber sie alle das gleiche Ergebnis, nmake schlägt mit den gleichen Linking-Fehler . –

1

Ich durchsucht das Qt-Forum nach dem Lesen von richardwb die Antwort und gefunden another proposed solution, die mit der Option -no-webkit zu konfigurieren mit der überspringenden Bibliothek zu konfigurieren. Der letzte Befehl configure wie diese

configure -no-webkit -platform win32-msvc2008 

aussehen würde ich dies und richardwb-Lösung und zu aktualisieren, um versuchen werde, wenn ich

getan
Verwandte Themen