2009-08-12 14 views
0

Mein ursprüngliches Ziel war es, Qt Creator und Visual Studio 2008 zu erstellen kompatible Bibliotheken, so was ich bisher getan habe, Öffnen einer VS-Eingabeaufforderung, gehen Sie zu meinem Qt-Ordner und dann configure.exe gefolgt von nmake, um die Qt neu zu kompilieren Bibliotheken mit VS. Das Problem ist, dass Qt Creator jetzt nichts kompilieren wird. Die Compiler Ausgabe zeigt, dass es nun mit cl statt gcc, das ist das, was ich wollte, aber zu jeder Zeit versuche ich etwas zu kompilieren wir die folgenden Warnungen erhalten:Neu kompilierte Qt-Bibliotheken mit VS, warum wird Qt Creator nicht kompilieren?

:-1: warning: unrecognized option '/MANIFEST'; ignored 
:-1: warning: unrecognized option '/MANIFESTFILE:debug\HelloQt.intermediate.manifest'; ignored 
:-1: warning: unrecognized option '/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*''; ignored 

Ich bin ich nicht sicher, ob es einen Unterschied macht , aber wenn ich lief configure.exe habe ich keine Befehlszeilenparameter festgelegt. Ich habe bemerkt, dass Referenzen, die ich gefunden habe, verschiedene Befehlszeilenparameter verwenden, wenn configure.exe ausgeführt wird (obwohl keine zwei Referenzen die gleichen Parameter verwenden), bin ich nicht sicher, ob es von einer VS-Befehlszeile ausgeführt wurde oder wenn ich es wollte um einige Optionen manuell einzustellen.

This website verwendet eine sehr lange Befehlszeile für configure.exe

configure -no-sql-sqlite -no-qt3support -no-opengl -platform win32-msvc2005 -no-libtiff -no-dbus -no-phonon -no-phonon-backend -no-webkit 

obwohl es er ist zu deaktivieren einige Optionen angezeigt, die ich für meine Projekte benötigen, und er hat es nicht von einer VS Eingabeaufforderung ausführen.

EDIT: mit dem -Plattform win32-msvc2008 Parameter für configure.exe neu kompiliert und es machte keinen Unterschied

Meine Frage ist, was soll ich über diese tun „nicht erkannte Optionen“, und in der Regel mehr dort ist, alles andere was ich tun muss, um Qt-Ersteller Qt-Projekte mit cl zu kompilieren?

UPDATE So habe ich die Qt-Bibliotheken versucht, neu zu kompilieren und auf tatsächlich die Ausgabe der 45 Minuten der Kompilation zu lesen, ich sehe, dass nmake mit einem Fehler verläßt. Ich bekomme acht "nicht aufgelöste externe Symbol" -Fehler von QNetworkReplyHandler.obj und FrameLoaderClientQt.obj, bevor der Kompilierungsprozess abgebrochen wird. Dies scheint nicht so zu sein, als würde es die unerkannten Optionsfehler verursachen, die ich erhalten habe, aber es erklärt, warum die Qt-Bibliotheken fehlerhaft laufen, wenn ich sie mit dem Visual Studio Qt-Plug-in verwende. Dieses Problem ist relativ unabhängig, so habe ich es in einer anderen Frage geschrieben, here is the link just in case anyone has an answer for that problem.

Antwort

1

Das Ziel ist es, sicherzustellen, dass Sie eine ordnungsgemäß kompilierte QTDIR haben. In deinem Fall eins für VS und eins für gcc (wenn du die zwei willst).

Je nachdem, was Sie heruntergeladen haben, verwendet Qt Creator gcc, aber Sie können alternative QT-Verzeichnisse unter Optionen> Qt4> Qt-Versionen angeben. Der Pfad und die Version werden im Dialogfeld angezeigt.

  1. an die VS-Befehlszeile gehen und configure.exe & nmake mit einem sauber Quellrepository laufen. Dann füge dieses QTDIR zu deinem Qt Creator hinzu. Ich schlage vor, du rennst vorher sauber.

  2. Dann stellen Sie sicher qmake und nmake kann von der Qt-Befehlszeile ohne Fehler ausgeführt werden. Sie sollten ein Qt-Befehlszeilensymbol installiert haben, wenn Sie das Qt-Installationsprogramm verwendet haben. Wenn nicht, stellen Sie sicher, dass die Umgebungsvariable QTDIR mit %QTDIR%/bin im Pfad festgelegt ist.

  3. Wiederholen Sie Schritt 1 erneut, aber verwenden Sie VS nicht, aber stellen Sie sicher, dass sich gcc im Pfad befindet. Führen Sie configure.exe usw. erneut aus, aber in einem separaten Verzeichnis speziell für gcc. Fügen Sie diese Version zu Ihrem Qt Creator hinzu.

  4. Wenn Sie Ihr Projekt kompilieren, führen Sie qmake zuerst aus. Sie können Qt-Versionen ändern, aber vergessen Sie nicht, qmake auszuführen.

Hoffe, das hilft.

0

auch daran erinnern, dass QT Creator nicht Debug-CL unterstützt mit

- Lior