Qt Creator mit Qt, Qwt & MinGW

Wie bereits unter dem Artikel "Visual Studio 2010 mit Qt" beschrieben, nutze ich Qt [1] als gut dokumentierte Klassenbibliothek sehr gerne.

Da nicht jeder Zugang zu Microsoft Visual Studio hat oder haben möchte, kann man auch den kostenlosen, von Qt mitgelieferten QtCreator [2] als Entwicklungsumgebung nutzen. Da fehlt natürlich noch der passende Compiler, denn dieser ist in der IDE nicht inbegriffen. Der von mir bevorzugte Compiler MinGW [3] (Minimalist GNU for Windows - Version 4.8.1) entspricht der Softwareportierung der GNU-Entwicklungswerkzeuge auf die Windows-Plattform. Der Compiler selbst steht unter GPLv3 (General Public License V3) und ist damit offen Verfügbar und erlaubt dem Nutzer sogar, proprietäre Software unter anderen Lizenzen als GPL zu erstellen.

Als erstes solltet ihr euch die passenden Softwarepalete herunterladen. Die Links dazu habe ich unten, am Ende des Artikels, aufgeführt. Ich verwende (noch) Qt 4.8.6 - mit Qt5.5 funktioniert das Einrichtungs-Tutorial jedoch genauso. Im einzelnen werden folgende Softwarepakete benötigt:

  • Qt Klassenbiliothek für Windows und MinGW Compiler
  • Qt Creator Installationspaket für Windows
  • MinGW Installationsmanager
  • Qwt Bibliothek für GUI-Widgets

Nun zur eigentlichen Installation der Softwarepakete unter Windows. Hier ist die Installationsreihenfolge teilweise von wichtiger Bedeutung. Ich empfehle dringend, den Compiler zuerst zu installieren, da es sonst bei der Installation von Qt zu schwierigkeiten kommen könnte. Außerdem ist es für die Installation des Compilers notwendig eine Internetverbindung herzustellen, da die aktuellen Compiler-Komponenten zur Installation aus dem Netz geladen werden.

1. MinGW installieren

mingw-get-setup.exe ausführen und z.B. nach C:\MinGW installieren

MinGW Installation

MinGW Installation Manager öffnen und Häkchen setzen bei:

  • developer kit
  • mingw-base
  • mingw32-gcc-g++
  • mingw32-gcc-objc
  • msys-base

Auswahl der einzelnen Komponenten

Abschließend noch über Menü->Install->Apply Changes die ausgewählten Teilkomponenten installieren. Es öffnet sich ein kleiner Anzeigedialog, welcher den Download und Installations-Fortschritt anzeigt.

Installaltion läuft

2. Qt Bibliothek installieren

Dazu das heruntergeladene Bibliothekspaket (z.B. qt-opensource-windows-x86-mingw482-4.8.6-1.exe) ausführen, nach z.B. "C:\Qt\4.8.6" installieren und dem Installationsdialog folgen.

Qt Installationsziel

Während der Installation wird der Installationspfad des MinGW Kompilers abgefragt. Hier ist darauf zu achten, dass der korrekte Pfad angegeben wird (hier: "C:\MinGW"). 

MinGW Compilerpfad angeben

3. Qt Creator installieren

Dieser Schritt ist nicht sonderlich kompliziert und kann parallel zur Installation von der Qt Bilbliothek oder Schritt 4 verlaufen. Einfach die heruntergeladene qt-creator-win-opensource-2.5.2.exe ausführen, z.B. nach C:\Qt\qtcreator-2.5.2 installieren und fertig.

Qt Creator Setup

4. Qwt Bibliothek extrahieren und kompillieren

Nach dem herunterladen der aktuellen Qwt Bibliothek muss diese extrahiert werden (z.B. nach "C:\Qt\qwt-6.1.2").

Qwt Bibliothek extrahieren

Im Verzeichnis liegt dann eine Daten namens "qwtconfig.pri". Diese muss editiert werden indem in der Zeile "QWT_INSTALL_PREFIX = ..." der Build-Pfad angegeben wird (hier z.B. "QWT_INSTALL_PREFIX = C:\Qt\qwt-6.1.2_build". Dieser Pfad gibt an, wohin die übersetzten Dateien gespeichert werden sollen. Falls dieser Ordner noch nicht existiert, sollte dieser noch angelegt werden.

Qwt Configuration File

Als nächstes wird die Qt Command Promt (Konsole) als Administrator ausgeführt.

Qt Command Promt ausführen

Um die Qwt Bibliothek mit dem MinGW Kompiler zu übersetzen ist die Eingabe der folgenden Befehle notwendig (jeweils der Term in den Gänsefüßchen):

  • "cd C:\Qt\qwt-6.1.1"     -> mit Enter bestätigen (wechselt in das angegebene Verzeichnis)
  • "qmake qwt.pro"           -> mit Enter bestätigen (erstellt ein temporäres Projekt zur Übersetzung der Qwt Bibliothek)
  • "mingw32-make"           -> mit Enter bestätigen (übersetzt die Qwt Bibliothek mittels MinGW Compiler)

Kompillierungsvorgang

Die Übersetzung (mingw32-make) kann schon einmal bis zu 10 Minuten andauern - je nach Geschwindigkeit des Systems.

  • "mingw32-make install"   -> mit Enter bestätigen (installiert die übersetzten Dateien in das angegebene Build-Verzeichnis)

Fertigstellung der Installation

Die nun frisch übersetzten Libs können der Qt-Bibliothek beigefügt werden. Dies geschieht, indem die Bibliotheks-Dateien aus dem Lib-Ordner (hier: "C:\Qt\qwt-6.1.2_build\lib") in das Qt-bin Verzeichnis (hier: "C:\Qt\4.8.6\bin") kopiert werden.

Bibliotheksdateien von Qwt in Qt kopieren

Nun ist die Qwt-Bibliothek in Qt implementiert. Um die Qwt-Widgets im Qt-Designer ( = GUI-Baustelle) nutzbar zu machen, muss noch die Plugin-Bibliothek in den Designer-Ordner kopiert werden. Dazu einfach die Datei "qwt_designer_plugin.dll" aus dem Verzeichnis "C:\Qt\qwt-6.1.2_build\\plugins\designer" nach "C:\Qt\4.8.6\plugins\designer" kopieren.

Qwt Widget Plugin für Qt Designer

Nun kann der Qt Designer aus dem Qt-Verzeichnis gestartet werden und es werden die Qwt-Widgets mit in der Widget-Liste angezeigt und zur Benutzung bereitgestellt. Die einzelnen Widgets lassen sich ganz einfach, wie die anderen Widgets auch, per Drag and Drop auf die zu erstellende GUI-Oberfläche ziehen.

Qwt Widgets im Qt Designer

5. Systemvariablen anlegen

Das anlegen der globalen Systemvariablen ist notwendig, da die Installationen von MinGW bzw. Qt dies nicht von allein erledigen. Ohne die Systemvariablen sind sich Qt und MinGW bzw. deren Pfade dem jeweils anderen Paket de Facto nicht bekannt. Zum Einrichten der Systemvariablen unter Windows 7 ist wie folgt vorzugehen:

  • Start -> Systemsteuerung -> System -> Erweiterte Systemsteuerung -> Umgebungsvariablen
  • Systemvaiable Path erzeugen oder bearbeiten
  • "C:\MinGW\bin;C:\MinGW;" hinzugügen (ohne " ")

Systemvariable Path

  • Systemvariable QTDIR anlegen
  • "C:\Qt\4.8.6\bin;C:\MinGW\bin;" hinzugügen (ohne " ")

Systemvariable QTDIR

Wenn die Parameter eingetragen wurden, kann es auch schon losgehen. Nun einfach den Qt-Creator öffnen und mit einem neuen Projekt loslegen. Nur noch ein wichtiger Hinweis zur Benutzung des GUI-Designers: Für die Verwendung der Qwt-Widgets ist es notwendig den autonomen Qt-Designer aus dem Qt-Verzeichnis zu verwenden, da die Qwt-Bibliotheken nur darin implementiert wurden. Das Designer-Tab innerhalb des Qt-Creators funktioniert bei dieser Art und Weise der Installation nicht mit den Qwt-Widgets. Daher einfach noch eine Verknüpfung zum zu verwendenden Designer auf den Desktop erstellen (z.B. "C:\Qt\4.8.6\bin\designer.exe"). Da ich mit 2 Monitoren arbeite, besteht der riesige Vorteil darin, dass der Designer auf dem 2. Monitor gelegt werden kann, während man im Editor am Quelltext arbeitet.

6. Qt Creator Einstellungen

Nun muss nur noch dem Qt Creator die korrekte Qt-Version und der Compiler mitgeteilt werden. Dies geschieht direkt in der Entwicklungsumgebung Qt Creator unter Menu Extras -> Einstellungen- > Erstellung und Ausführung. Dort finden sich viele Einstellmöglichkeiten zum Kompillierungsvorgang. Im Reiter "Allgemein" ist es auf jeden Fall empfehlenswert die Option "Alle Dateien vorm Erstellen speichern" einzuschalten, um den geänderten Quellcode während des Kompillierungsvorganges gleich mit zu speichern. Nun zu den wichtigen Einstelungen:

Zuerst soll die zu verwendende Qt-Version eingestelt werden. Dies ist auch notwendig, wenn nur eine Qt-Bibliothek (hier die 4.8.6) installiert ist. Die Einstellungen sind im Reiter "Qt Versionen" vorzunehmen. Dort einfach auf "Hinzufügen..." klicken und die qmake.exe aus dem Qt-bin Verzeichnis ("C:\Qt\4.8.6\bin\qmake.exe") auswählen.

Qt Version konfiguriert

Unter dem Reiter "Toolchains" wird der Compiler konfiguriert. In der Regel sollte der MinGW Compiler schon automatisch erkannt worden sein. Prinzipiell würde nun schon alles funktionieren - bei genauerem Betrachten der Einstellungen der automatisch bestimmten Toolchain fällt jedoch auf, dass kein Debugger eingestellt ist. Dieser lässt sich an der Stelle auch nicht konfigurieren. Um den Debugger einzustellen legt man ein benutzerdefiniertes Toolchain-Profil an. Dazu einfach das automatisch bestimmte Profil klonen und dann unter dem Edit-Feld "Debugger:" die Datei "gdb.exe" aus dem MinGW-bin Verzeichnis ("C:\MinGW\bin\gdb.exe") auswählen.

Debug-Einstellungen

Nun kann ein erstelltes Programm auch debuggt werden - was zweifellos jedem Entwickler die Arbeit erleichtert. Da es in Qt-Debug-Modus leider nicht möglich ist (im gegensatz zum VS) den Inhalt von QStrings im Klartext zu lesen, empfiehlt sich die Verwendung von QDebug. Dies muss dabei mit in das aktuelle Projekt mittels "#include <QDebug>" inkludiert werden. Dann können QStrings ganz einfach über "QDebug() << "Hallo World";" im Ausgabefenster angeschaut werden.

Debugging

Soweit zur Einrichtung von Qt mit Qwt und MinGW-Compiler unter Windows. Viel Spaß beim Entwickeln und Programmieren!

 

Links:

[1] Qt - Qt Klassenbibliothek -> Paket download Archiv: click here

[2] Qt Creator - Entwicklungsumgebung -> Installer download: click here

[3] MinGW - minimalist GNU for Windows -> Installer download: click here

[4] Qwt - Qt Widgets for technichal Applications -> download package: click here