Anleitung um QT 4 Applikationen mit Visual Studio .NET 2003 /Visual C++ 2005 (auch Express)*
erstellen und kompilieren zu können
*Es
sind auch andere Visual Studio / Visual C++ Versionen möglich, dieses jedoch nicht
getestet
ACHTUNG: Aktualisiert am 22.06.2008
| 22.06.2008 Neues vorkompiliertes QT in Version 4.4.0 (OpenSource) zum Download verfügbar. Diesmal zusätzlich mit Debug Bibliotheken. |
| 02.05.2008 Laut einem Leser funktioniert mit QT 4.3.4 auch das Compilen mit Visual Studio Express 2005 mit SP1, daher Hinweis entfernt. |
| 05.04.2008 Für QT Versionen ab 4.3.3 hat Trolltech entschieden, den Benutzern von QT OpenSource für Windows das Erstellen von QT für die VisualC++/Visual Studio Reihe zu vereinfachen und den Konfigurationsprozess zu integrieren. Daher ist ab der Version 4.3.3 nicht mehr der Patch von QTWin nötig. Quelle |
| Inhaltsverzeichnis:
QT4 runterladen, konfigurieren,
kompilieren Entwickeln in Visual Studio .NET 2003 |
Während die kommerzielle Version von QT4 sich bereits selber komplett in Visual Studio integrieren kann, kann man mit der OpenSource, also der - für OpenSource und Lernprojekte kostenlosen - Version von QT höchstens den Editor von VS2003 nutzen. Diesem fehlen hier aber die nützlichsten Funktion wie z.B. die Codevervollständigung. Kompilieren lassen sich QT Projekte ausserdem standardmäßig nur mit dem MinGW Compiler, welcher sich ebenfalls nicht in Visual Studio integrieren lässt. Debuggen wird hier ebenfalls nahezu unmöglich.
Daher hier nun eine kurze Anleitung mit der sich Visual Studio .NET 2003 zum editieren (mit alle Extras) sowie zum kompilieren, linken und debuggen nutzen lässt, da dies garnicht so schwierig- und der Nutzen groß ist.
Meine ursprünglichen Informationen habe ich übrigens aus einem deutschsprachigen Tutorial von der UNI Augsburg. In diesem wird der Vorgang des Kompilierens und das Erstellen eines Projektes und Visual Studio noch genauer und mit einigen Beispielen beschrieben. [Link zum Tutorial]
1. entweder: Microsoft(R) Visual Studio / Visual C++ .NET 2003 (Visual C++
installiert) ;-)
oder: Microsoft(R) Visual Studio / Visual C++ 2005
oder: Microsoft(R) Visual C++ 2005 Express von microsoft.com [Link] (mindestens 60MB)*
2. QT 4.x OpenSource Version mit Sourcen von
trolltech.com (Nicht die
vorkompilierte mit Setup für MinGW!!!)
[Link] (Dateiname: qt-win-opensource-src-4.xxxx.zip ca. 34MB)
3. [Nur noch bei QT Versionen < 4.3.3 notwendig]
"Advanced Compiler Support" von der
QTWin
Projektseite (Darauf achten dass die Version zu eurer QT4
Version passt!!)
[Link] (Dateiname: acs4qt4xxp1.zip ca. 160kb)
* Für Visual C++ 2005 Express sollte auch noch das Microsoft(R) Windows Platform SDK von microsoft.com runtergeladen werden!! [Link] (ca. 100 - 400MB)
Statt 2. + 3. Für Visual Studio 2003.NET
vorkompiliertes QT von 321soft.de [Link]
(Dateiname: qt440.rar 160MB) Version: 4.4.0 für Visual Studio 2003.NET mit Debug-Librarys, Qmake und VCPROJ Dateien *
* Das vorkompilierte Archiv ist sinnvoll wenn ihr einen langsamen Rechner
habt oder euch das Kompilieren sparen wollt bzw. sofort anfangen wollt zu
entwickeln. Nachteil: Der Download ist um ein vielfaches größer
und die Version ist evtl. nicht die aktuellste von Trolltech.com.
Alles entpacken und Patch einspielen
(Wenn ihr euch das vorkompilierte QT (siehe
benötigte Software) von 321soft.de geladen habt, müsst
ihr die RAR Datei einfach nur in ein Verzeichnis (am besten C:\qt4) entpacken
und zum nächsten Schritt gehen)
Zunächst entpackt ihr das ZIP Archiv mit den QT4
Sourcen welches ihr eben geladen habt. Ideal wäre ein kurzer Pfad, da dies
Tippaufwand bei den nächsten Schritten spart. Ich nehme in diesem Tutorial mal
an, dass ihr das Archiv nach C:\qt4 entpackt habt. Achtet unbedingt
darauf, dass euer Entpacker keinen zusätzlichen Unterordner mit Namen des ZIP
Archives erstellt (z.B. C:\qt4\qt-win-opensource-src-4.1.4\).
[Der folgende Schritt ist nur noch für QT Versionen < 4.3.3 erforderlich]
Nun führt ihr die Datei installpatch4x.bat in eurem QT4 Ordner aus. Ist sie
nicht da hat euer Entpackprogramm die Dateien in den Unterordner acs4....\
entpackt. In diesem Fall die Dateien einen Ordner höher schieben. Der Patch (die
Batchdatei) schreibt nun ein wenig an den QT Projektdateien herum. Danach kanns auch fast(!) an's Compilen gehen
:-)
Drückt nun die Windows Taste + Pause (oder wenn ihr ein hoffnungsloser Windows-Tastaturen Endgegner seit, oder die Taste aus Wut beim zocken rausgebrochen habt, klickt mit rechts auf den Arbeitsplatz und dann auf Eigenschaften ;-) ). Wechselt auf den Tab "Erweitert" und klickt dort auf den Button "Umgebungsvariablen".
Unter Systemvariablen (nicht die Benutzervariablen -> Visual Studio verwendet u.a. einen extra Benutzer zum Debuggen) wird nun folgende Variablen angelegt (Klick auf "Neu"):
| Name | Wert | Neu/Ändern |
| QTDIR | C:\qt4 | neu anlegen |
| QMAKESPEC |
win32-msvc.net (Visual Studio 2003 .NET) win32-msvc2005 (Visual C++ 2005) (Weitere Möglichkeiten s. C:\qt4\mkspecs) |
neu anlegen |
| PATH | C:\qt4\bin | ergänzen |
| INCLUDE | C:\qt4\include | ergänzen |
| LIB | C:\qt4\lib | ergänzen |
QMAKESPEC: Hier schreibt ihr rein nach welchem Template qmake später die Projektdateien erstellen soll. In diesem Tutorial schreiben wir "win32-msvc.net" rein welches qmake dazu veranlasst eine Visual Studio 2003.net Projektdatei (.vcproj) zu erstellen. Um zu sehen welche Templates noch möglich sind (z.B. Visual Studio 2005, Borland, G++ usw.) müsst ihr nur mal in den Ordner C:\qt4\mkspecs schauen und z.B. msvc2005 für Visual C++ 2005 eintragen.
QT4 kompilieren
(Wenn ihr euch das vorkompilierte QT (siehe
benötigte Software) von 321soft.de geladen habt, könnt
ihr diesen Schritt überspringen)
Jetzt geht es daran, QT4 zu kompilieren damit ihr es hinterher benutzen
könnt. Als allererstes solltet ihr euch vergewissern, dass ihr an dem
schnellsten Rechner sitzt, den ihr im Haus habt. Der gesamte Vorgang
(Projektdateien erstellen, Kompilieren und Linken) hat auf meinem System
(Pentium 4 3,00Ghz, 1GB RAM und einem Raid0 Verbund) etwas
mehr als eine Stunde gebraucht. Ausserdem solltet ihr
mindestens noch 2GB auf der Festplatte unter der
ihr QT entpackt habt frei haben. Der meiste Platz geht für Temp-Dateien drauf,
welche beim kompilieren erstellt werden, danach aber wieder gelöscht werden
können.
Startet nun die Visual Studio .NET 2003 Eingabeaufforderung. Diese findet ihr im
Startmenü unter Microsoft Visual Studio .NET 2003 und dort unter Tools.
| [Schritt für QT Versionen >= 4.3.3]
Ruft im QT Verzeichnis die Datei configure.exe mit dem Parameter "-help" auf. Ihr erhaltet eine Liste mit allen
möglichen Optionen die QT beim compilen berücksichtigen soll. z.B. ob bestimmte Plugins mit eingelinkt werden sollen usw. |
| [Schritt für QT Versionen < 4.3.3]
Der Patch den ihr eben eingespielt habt, hat euch eine neue
Batch Datei erzeugt. Die qconfigure.bat. Diese übernimmt nun etwas
Vorarbeit (z.B. setzen von weiteren Systemvariabeln usw.) und startet
schliesslich die originale configure.exe mit den entsprechenden Parametern. |
Zu Anfang müsst ihr der GNU Lizenz mit "Y" zustimmen. Auch
werdet ihr je nach Patch Version vor bestimmten wichtigen Schritten nochmal um
eure Zustimmung mit "Y" gebeten. Dabei solltet ihr immer nach Fehlermeldungen in
der Batch ausgabe ausschau halten und diese beheben bevor ihr alles bestätigt.
Nachdem die Batch durchgelaufen ist und alle Make-Dateien erstellt hat, ruft ihr
als nächstes einfach nur noch "nmake" auf. Jetzt könnt ihr eigentlich
kaffetrinken oder etwas spazieren gehen, dieser Schritt dauert am längsten ;-)
Gäääääähn....
Stunden später... (Die Warning interessiert nicht weiter, wichtig ist, dass nicht mit einem Error abgebrochen wurde). Nun habt ihr die QT Bibliotheken und alle (bereits bekannten) Hilfsprogramme von QT selbst kompiliert (z.B. den Designer oder den Assistant). Die Verknüpfungen im Startmenü oder Desktop zum Designer etc. müsst ihr natürlich selbst anlegen (ich rufe jedoch immer "designer" oder "assistant" über Start->Ausführen auf, da der Qt4 Ordner sowieso in der PATH Variable steht).
Wie oben erwähnt werden beim compilieren ein paar GigaByte Temp Dateien
erstellt die man nun wieder löschen kann (oder wenn man faul ist und genug Platz
hat da lassen kann, in diesem Fall diesen Schritt überspringen).
Nmake kann seinen Müll mit dem Parameter "clean" selber löschen, leider werden
dabei auch noch benötigte LIB Dateien gelöscht.
Kopiert also das Verzeichnis C:\qt4\lib auf
euren Desktop. Führt dann im Command Promt C:\qt4>nmake clean aus.
Kopiert nun die Sicherung vom Ordner lib auf eurem Desktop wieder dahin wo ihr
sie her habt.
So das erstellen der QT4 Module wäre nun
abgeschlossen. Jetzt kann's an das Entwickeln im Visual Studio gehen.
Ihr solltet euch aber das fertig kompilierte QT4 Verzeichnis irgendwo
sichern, z.B. auf CD, da ihr es sonst
jedesmal neu kompilen müsst wenn ihr euer Windows neu aufsetzt oder an einem
anderen PC entwickeln wollt.
So könnt ihr an allen PCs an denen mit Visual Studio .NET 2003 entwickelt werden
soll den QT4 Ordner wieder einkopieren und müsst nur noch die Umgebungsvariabeln
neu setzen.
TIP: Der QT4 Ordner wird um vielfaches kleiner wenn ihr in ZIPt da er
sehr viele kleine Dateien enthält.
Entwicklung unter Visual Studio .NET 2003
Dieser Schritt ist mittlerweile denkbar einfach geworden. Wer
dieses Tutorial früher schonmal gelesen hat, oder das oben verlinkte Tutorial
von der Uni Augsburg liest, wird sich wundern dass das Tutorial wesentlich
weniger Text und Bilder umfasst wie vorher ;-)
1. Schritt - Konsole öffnen
Ihr öffnet wie zuvor beim kompilieren von QT (wer es selbst gemacht hat) die
Visual Studio 2003 .NET Eingabeaufforderung.
Hier wechselt ihr nun in das Verzeichnis in dem die Quellcodes eures QT Projektes liegen, welches ihr ab jetzt in Visual Studio weiterbearbeiten wollt.
2. Schritt -
Projektdatei erzeugen
Gebt hier nun die Zeile "qmake -project -t vcapp" ein. Wenn ihr statt einer
Anwendung (.exe) eine Library (dll) erstellen wollt gebt ihr statt vcapp
vclib
an. Qmake erstellt nun die altbekannte .pro Projektdatei jedoch mit dem Vermerk
"vcapp" bei TEMPLATES.
3. Schritt - Visual Studio Projektdatei erzeugen
Batch Datei erstellen zum einfachen Projekt erstellen
Für das erstellen der Projektdatei habe ich mir allerdings eine kleine BATCH Datei namens "vmake.bat" erstellt, welche das Erstellen des .pro Files mit QTNetwork Support, sowie das Erstellen des Visual Studio Projekt Files (.vcproj) übernimmt. Diese Batch Datei wird einfach im QT Bin-Verzeichnis (C:\qt4\bin) gespeichert. Jedesmal wenn neue Forms oder Ressourcen zum Projekt hinzukommen, oder ich ein neues Projekt anfange rufe ich aus der Visual Studio Eingabeaufforderung im Projektordner einfach nur "vmake app" oder "vmake lib" auf und lade das Projekt in Visual Studio neu (bzw. macht es das Studio selbst). So ist das Arbeiten mit QT meiner Meinung nach am komfortabelsten :-)
Die Batch Datei sieht folgendermaßen aus:
vmake.bat
| @echo off IF "%1" == "" GOTO err qmake -project -t vc%1 "QT+=network" qmake -tp vc GOTO end :err echo Bitte als Parameter "app" oder "lib" angeben !! :end |
Wenn nun alles richtig ist, können wir das gesamte Projekt neu erstellen (Rechtsklick auf Projekt im Projektmappen Explorer und auf "Neu erstellen"). Es sollte dann folgendes Ausgegeben werden :-) :
An Beispielen kann man meiner
Meinung nach am besten lernen und sich alles in Ruhe angucken. Daher hier mal
ein Visual Studio .NET 2003 Projekt indem eine einfache QT GUI angezeigt wird.
[DOWNLOAD]
- Trolltech Produkt-Webseite:
http://www.trolltech.com/products/qt
- QTWin Projektseite:
http://sourceforge.net/projects/qtwin
- Google: http://www.google.de/
(Das ist nicht wieder so ein blödgemeinter "RTFM" Hinweis, es finden sich sehr
sehr viele Artikel zu QT da es viele Entwickler gibt die QT benutzen)
- Tutorial der UNI Augsburg
http://mm-werkstatt.informatik.uni-augsburg.de/documents/tutorials/qt2003.pdf#search=%22QT%20unter%20Windows%20und%20Visual%20Studio%22
Fragen, Fehler, Anregungen
KONTAKT ?
In so einer Anleitung hat man schnell mal eine
Kleinigkeit vergessen oder einfach für so selbstverständlich gehalten dass man
diese garnicht reinschreibt.
Sollte irgendwas nicht klappen, euch irgendein Grober Fehler auffallen, oder
irgendetwas fehlen was ihr euch mühsam selbst ausarbeiten musstet. BITTE
SCHREIBT ES MIR !!!
Vieleicht wisst ihr für einige Schritte auch intelligentere Lösungen - Ich
will's wissen ;-)
Kontakt könnt ihr mit mir über das Kontaktformular auf http://www.321soft.de aufnehmen oder direkt eine Mail an info at 321soft dot de schreiben.
Copyright (C) 2006 Jan Stuhlmann (321soft.de)