[X] Projekte mit Qt und Dev-cpp(MinGW) kompilieren
-
Projekte mit Qt und Dev-cpp(MinGW) kompilieren
Inhalt
- Einleitung
- Installieren
- qmake
Einleitung
Da ich öfters in letzter Zeit gefragt wurde wie man den die Qt/Windows Open Source Edition unter Dev-Cpp installiert und da ich beim Kompilieren von Projekten Probleme hatte und erst mal mit dem MOT(Meta Object Compiler) und dem qmake klarkommen musste und dafür keine richtige Beschreibung gefunden habe die das gut zusammenfasst dachte ich schreib mal selber was und ich hoffe das dass hier den Leuten weiter Helfen kann .Installieren
Also als erstes wollen wir erstmal alles sauber installieren den da hab ich bisher die meisten fragen zu bekommen. Was wir am Anfang brauchen und ich nur der Vollständigkeit hier aufzähle ist den Dev-Cpp und die Qt libraryDev-Cpp:
http://sourceforge.net/projects/dev-cpp/
Qt/Windows Open Source Edition:
http://www.trolltech.com/download/qt/windows.htmlAlso das installieren von Dev-Cpp sollte keine probleme Darstellen. Deswegen überspringe ich das gleich und geh zur Installation von Qt.
Nachdem ihr die ausführbare Datei heruntergeladen habt. Könnt ihr sie ganz normal ausführen und dem installations Assistenten folgen und damit die Qt Dateien auf eure Festplatte kopieren. Jetzt nicht vergessen in den Qt Ordner wechseln und die configure.exe ausführen. Dann nur noch die Lizenz mit einem `y` bestätigen.
Bild1Das war bisher der einfache Teil der auch immer bestens geklappt nur kommt dann oft die Frage „wie binde ich das jetzt unter Dev-Cpp ein?“. Da dem gutem evilissimo die frage anscheinend auch zu oft gestellt wurde hat er ein kleines Programm geschrieben das hier sehr hilfreich ist und für uns ein paar arbeiten übernimmt und ich mal gleich drauf verweise: http://www.evilissimo-softdev.de/downloads.html. Es ist der QT Template installer.
Den Kopieren wir in unser Dev-Cpp Verzeichnis und führen ihn aus jetzt sollte nur kurz ein Fenster aufpoppen und schnell wieder verschwinden. Wenn wir Dev-Cpp öffnen und unter „Neue Projekte“ im „Basic“ Reiter ein „QT 4.0 Application“ auswählbar sein(siehe Bild2).
Bild2Um Fortzufahren wählen wir „QT 4.0 Application“ aus und erstellen ein neues Project. Danach sehen wir ein kleines Beispiel Programm das ein Fesnter erstellt indem ein Button mit der Beschriftung „Servus Welt“ erscheint. Wenn ihr das ganze jetzt kompilieren könnt, könnt ihr den nächsten Teil überspringen.
So jetzt wollen wir das ganze auf unser System abstimmen. Also gehen wir unter „Tools -> Compiler Options“ dort wählen wir den Reiter „Directories“ und kucken, ob die Qt include Verzeichnisse richtig eingetragen sind. Also wählen wir den „C++ Incudes“ Reiter aus und kucken nach den Qt Verzeichnissen. Wenn dort keine sind müsst mit „Add“. „QT\include“ und alle Verzeichnisse in „QT\include“ einzeln einfügen. So das es wie auf Bild 3 aussieht
Bild3Dass selbe müsst ihr noch mal unter „Project->Project Options“ machen. Wenn das erledigt ist müsst ihr den Reiter „Parameters“ auswählen und dort unter Linker alle Verzeichnisse Löschen die sich auf Qt beziehen und dann mit Hilfe von „Add Library or Object“ in das Qt Verzeichnis gehen und dort alle Dateien auswählen die im lib Ordner enthalten sin auf „OK“ klicken und nun sollten sie alle im Linker Feld erscheinen. Dann klickt iht auf „OK“ und dann noch mal versuchen das ganze zu kompilieren. Wenn es immer noch nicht Funktioniert solltet ihr erstmal kucken, oh ihr irgendwas übersprungen habt oder im Forum Posten.
qmake
Also hier solltet ihr landen wenn bei euch der Fehler: „ [Linker error] undefined reference to `vtable for „classname“'“ erscheint wenn ihr euer Projekt Kompilieren wollt. Das problem zu lösen ist sehr einafch und geht zum Glück sehr schnell. Als erstes öffnen wir die Console. Und wechseln in das Projekt Verzeichnis. Wenn wir indem Verzeichnis sind indem all unsere Projekt Dateien enthalten sind oder wenn ihr die noch mal in mehrere Verzeichnisse gesplittet habt dann in das wo das makefile zuhause ist. Wenn ihr den makefile mit Dev-Cpp erstellen lasst dann sollte er „makefile.win“ heißen. So jetzt gibt ihr in der Console
„>qmake –project“ ein. Wenn bei euch eine Leere Zeile kommt und ein neuer Prombt dann läuft alles richtig.Wenn nicht sondern ein der Befehl oder Datei konnte nicht gefunden werden. Dan müsst ihr unter „Systemsteuerung->System“ den Reiter „Erweitert“ auswählen und dann den Button Umgebungsvariablen. Indem Dialog unter Systemvariablen sucht ihr nach der Variable „PATH“ druckt den „Bearbeiten“ Button und fügt am Ende „;EuerQtPath\bin“ ein. Drückt „OK“ und versucht die Eingabe von „>qmake –project“ erneut.
Bild4Zur kontrolle könnt ihr in euren Project Ordner schauen dort sollte es jetzt eine *.pro Datei und ein Makefile geben. Danach gebt ihr „>qmake“ ein und jetzt müsste es zwei Files dazugekommen sein ein „Makefile.Debug“ und ein “Makefile.Release“. Damit haben wir alles hinter uns und müssen nur noch das dem Dev-Cpp unserer IDE beibringen
Bild5Damit gehen wir wieder zum Dev-Cpp zurück und Öffnen wir die „Project Optionen“ und wählen diesmal den „Makefile“ Reiter. Dort klicken wir die „Use custom Makefile (…)“ Checkbox aus. Drücken den Ordner neben dem leeren Textfeld und wählen jetzt einen der beiden zuletzt erstellten Dateien aus. Was ungefähr wie auf Bild6 aussehen sollte.
Bild6Jetzt solltet ihr das Projekt einmal Kompilieren und in dem release oder debug Ordner nachdem *.exe Namen schauen da wir ihn gleich brauchen.
Jetzt müssen wir noch Dev-Cpp erzählen wo die ausführbare Datei landet. Das kommt drauf an, ob ihr die release oder debug version des makefiles gewählt habt. Also wählen wir in dem „Project Options“ Dialog den „Buil Options“ Reiter. Dort klicken wir den Button neben dem „Executable output directory„ Eingabefeld. Und wählen dann dementsprechend den „release“ oder „debug“ Ordner aus. Zum Schluss geben wir im untersten Textfeld den Namen der ausführbaren Datei im release oder debug Ordner ein.
Ich hoffe ich konnte weiterhelfen
Gruß mosta
-
wie man Bilder hochläd weiß ich nicht also steht da immer nur de nummer
-
mosta schrieb:
wie man Bilder hochläd weiß ich nicht also steht da immer nur de nummer
Steht ziemlich weit vorne in der Anleitung.
Mach bitte einen eigenen Ordner für deinen Artikel (also, wo die Bilder reinkommen).
-
mosta schrieb:
wie man Bilder hochläd weiß ich nicht also steht da immer nur de nummer
Also in estartus Anleitung steht das gleich im zweiten Absatz, inklusive Verbindungsdaten: http://www.c-plusplus.net/forum/viewtopic-var-t-is-121848.html
-
danke hab's wie man sieht hingekriegt
-
hatt das jetzt schon jmd. angekuckt?
-
Ja, habs mir mal durchgelesen.
Ein paar Tipps:- Ich finde, dass der Titel zu lang ist, meiner Meinung nach wäre "Qt-Projekte unter Dev-Cpp kompilieren" ausreichend, denn Dev-Cpp gibt es ja nur für Windows
- Als Anredeform sollte man "Sie" verwenden, bzw. "man", wenn man nicht so direkt sein will.
- Im Moment ist es an einigen Stellen noch etwas umgangssprachlich (z.B. kucken), das kann ich aber zur Not noch bei der Rechtschreibkorrektur verbessern
-
Ich habe leider keine Möglickeit, das nachzumachen.
Es scheint aber schön anfängertauglich beschrieben zu sein.
Nur, was ist bitte "MOT"? Kannst du das noch erklären?Allerdings solltest du die Anrede wirklich noch auf "Sie" oder "man" anpassen. Eigentlich soll ja "Sie" verwendet werden.
Und die Rechtschreibkorrekturen dürften recht umfangreich ausfallen, du schreibst wirklich viel umgangssprachlich "frei Schnauze".
Eine kürzere Überschrift wäre auch nett, falls dir eine einfällt.
-
Weitere Kommentare?
Sonst könnte es hier mit [R] weitergehen.
-
Projekte mit Qt und Dev-cpp(mingw) Kompilieren
Inhalt
- 1.Einleitung
- 2.Installieren
- 3.qmake
1.Einleitung
Da ich öfters in letzter Zeit gefragt wurde wie man den die Qt/Windows Open Source Edition unter Dev-Cpp installiert. Und da ich beim Kompilieren von Projekten Probleme hatte und dafür keine richtige Beschreibung gefunden habe die das gut zusammenfasst, kam ich auf die Idee aelber was zu schreiben. Also hoffe ich das, dieser kurze Artikel den Lesern weiter Helfen kann .2.Installieren
Also als erstes wollen wir erstmal alles sauber installieren den da hab ich bisher die meisten fragen zu bekommen. Was wir am Anfang brauchen und ich nur der Vollständigkeit hier aufzähle ist den Dev-Cpp und die Qt libraryDev-Cpp:
http://sourceforge.net/projects/dev-cpp/
Qt/Windows Open Source Edition:
http://www.trolltech.com/download/qt/windows.htmlAlso das installieren von Dev-Cpp sollte keine probleme Darstellen. Deswegen überspringe ich das gleich und geh zur Installation von Qt.
Nachdem ihr die ausführbare Datei heruntergeladen habt. Könnt ihr sie ganz normal ausführen und dem installations Assistenten folgen und damit die Qt Dateien auf eure Festplatte kopieren. Jetzt nicht vergessen in den Qt Ordner wechseln und die configure.exe ausführen. Dann nur noch die Lizenz mit einem `y` bestätigen.
Bild1Das war bisher der einfache Teil der auch immer bestens geklappt nur kommt dann oft die Frage „wie binde ich das jetzt unter Dev-Cpp ein?“. Da dem gutem evilissimo die frage anscheinend auch zu oft gestellt wurde hat er ein kleines Programm geschrieben das hier sehr hilfreich ist und für uns ein paar arbeiten übernimmt und ich mal gleich drauf verweise: http://www.evilissimo-softdev.de/downloads.html. Es ist der QT Template installer.
Den Kopieren wir in unser Dev-Cpp Verzeichnis und führen ihn aus jetzt sollte nur kurz ein Fenster aufpoppen und schnell wieder verschwinden. Wenn wir Dev-Cpp öffnen und unter „Neue Projekte“ im „Basic“ Reiter ein „QT 4.0 Application“ auswählbar sein(siehe Bild2).
Bild2Um Fortzufahren wählen wir „QT 4.0 Application“ aus und erstellen ein neues Project. Danach sehen wir ein kleines Beispiel Programm das ein Fesnter erstellt indem ein Button mit der Beschriftung „Servus Welt“ erscheint. Wenn ihr das ganze jetzt kompilieren könnt, könnt ihr den nächsten Teil überspringen.
So jetzt wollen wir das ganze auf unser System abstimmen. Also gehen wir unter „Tools -> Compiler Options“ dort wählen wir den Reiter „Directories“ und kucken, ob die Qt include Verzeichnisse richtig eingetragen sind. Also wählen wir den „C++ Incudes“ Reiter aus und kucken nach den Qt Verzeichnissen. Wenn dort keine sind müsst mit „Add“. „QT\include“ und alle Verzeichnisse in „QT\include“ einzeln einfügen. So das es wie auf Bild 3 aussieht
Bild3Dass selbe müsst ihr noch mal unter „Project->Project Options“ machen. Wenn das erledigt ist müsst ihr den Reiter „Parameters“ auswählen und dort unter Linker alle Verzeichnisse Löschen die sich auf Qt beziehen und dann mit Hilfe von „Add Library or Object“ in das Qt Verzeichnis gehen und dort alle Dateien auswählen die im lib Ordner enthalten sin auf „OK“ klicken und nun sollten sie alle im Linker Feld erscheinen. Dann klickt iht auf „OK“ und dann noch mal versuchen das ganze zu kompilieren. Wenn es immer noch nicht Funktioniert solltet ihr erstmal kucken, oh ihr irgendwas übersprungen habt oder im Forum Posten.
3.qmake
Bevor wir hier weiter machen kommt einbisschen Theorie. Was passiert eigentlich wenn wir auf Kompilieren Druecken?
Bild4Es geschehen folgende Schritte:
- 1.Es wird das make Programm ausgefuehrt, dem das von dev-cpp erstellte make file als Parameter angeben wird. Indem make file stehen die Abhaengigkeiten unserer Projektdateien.
- 2.Jetzt werden unsere cpp files vom Kompiler zu Objekt Dateien kompiliert. Also unser kompiler wandelt unsere Cpp Dateien in eine Maschinensprache um.
- 3.Als naechstes werden die Objektdateien mit den Bibliotheken gelinked. Es
werden unsere Dateien mit der oder den Bibliotheken die wir benutzen, zu einem Binary File zusammengepackt. Unter Windows heist das zu einer .EXE Datei.
Bild5Das selbe passiert wenn wir ein QT Projekt Kompilieren wollen nur das makefiles Plattform und Compiler abhaengig sind. Das hat Trolltech durch eine Spracherweiterung mit Makros geloest.Wozu und wie Intressiert an dieser stelle nicht. Aber wer mehr darueber erfahren moechte findet hier mehr [http://www.trolltech.com/developer/doc.html].
Im enddefekt passiert dasselbe nur das ein Schritt dazu kommt. Es werden unsere Cpp Dateien im MOT (Meta Object Compiler) in Cpp Dateien uebersetzt. Diese gehen dann an unseren Compiler und es geht wie oben beschrieben weiter. Der MOT ist im enddefekt das selbe wie unser Compiler nur das er keine Objekdateien generiert sondern Cpp dateien. Damit dieses passiert muessen wir mittels qmake erst einen .pro file und dann damit einen makefile generieren.Als erstes öffnen wir die Console. Und wechseln in das Projekt Verzeichnis. Als erstes muessen wir die .pro-Datei erstellen. Das passiert indem wir
>qmake -project
eingeben.
Wenn jetzt eine Leere Zeile kommt und ein neuer Prombt dann läuft alles richtig.
Wenn nicht sondern der Befehl oder die Datei nicht gefunden werden konnte. Dan müsst ihr unter „Systemsteuerung->System“ den Reiter „Erweitert“ auswählen und dann den Button Umgebungsvariablen. Indem Dialog unter Systemvariablen sucht ihr nach der Variable „PATH“ druckt den „Bearbeiten“ Button und fügt am Ende „EuerQtPath\bin“ ein. Drückt „OK“ und versucht die Eingabe von „>qmake –project“ erneut.
Bild6Zur kontrolle könnt ihr in euren Project Ordner schauen dort sollte es jetzt eine *.pro Datei und ein Makefile geben. Danach gebt ihr „>qmake“ ein und jetzt müsste es zwei Files dazugekommen sein ein „Makefile.Debug“ und ein “Makefile.Release“. Damit haben wir unser makefile erstellt und muessen das nun in unsere DevCpp Umgebung einbinden.
Bild7Damit gehen wir wieder zum Dev-Cpp zurück und Öffnen die „Project Optionen“. Sie wählen diesmal den „Makefile“ Reiter. Dort klicken Sie die „Use custom Makefile (…)“ Checkbox aus. Waehlen den Ordner neben dem leeren Textfeld aus und benutzen jetzt einen der beiden zuletzt erstellten Dateien aus. Was dann in etwa wie auf Bild6 aussehen sollte.
Bild8Jetzt solltet ihr das Projekt einmal Kompilieren und in dem release oder debug Ordner nachder *.exe schauen, ob Sie Ordnungsgemaesz erstellt wurde.
Zum Schlusz wollen wir, dass nachdem Kompilieren DevCpp, die EXE auch ausfuehren kann.Dafuer wählen wir in dem „Project Options“ Dialog den „Build Options“ Reiter. Daraufhin klicken wir den Button neben dem „Executable output directory„ Eingabefeld an. Und wählen dann dementsprechend den „release“ oder „debug“ Ordner aus. Zum Schluss geben wir im untersten Textfeld den Namen der ausführbaren Datei ein. Jetzt sollte euer Programm Kompiliert werden. Wenn ihr neue Dateien dazufuehgt muesst ihr auch eine neue proj Datei erstellen und den rest wie oben beschrieben nochmal machen. Wenn euch das zuviel ist koennt ihr euch auch ein Script schreiben das ihr anstatt des makefiles einfuegt und das jedesmal die vorhin beschriebenen Schritte ausfuehrt.
Ich hoffe ich konnte weiterhelfen
Gruß mosta
-
ich hab den ARtikel jetzt erstmla komplett ueberarbietet bei der rechtsschreibkontrolle sollte beachtet werden das ich zurzeit nur ne englische Tastur hier habe und deswegen nur ae und sz schreiben kann.
grusz mosta
-
Ich setz ihn mal auf [R].
-
Projekte mit Qt und Dev-cpp(mingw) kompilieren
Inhalt
- 1. Einleitung
- 2. Installieren
- 3. qmake
1. Einleitung
Da ich öfters in letzter Zeit gefragt wurde, wie man denn die Qt/Windows Open Source Edition unter Dev-Cpp installiert und da ich beim Kompilieren von Projekten Probleme hatte und dafür keine richtige Beschreibung gefunden habe, die das gut zusammenfasst, kam ich auf die Idee, selber was zu schreiben. Also hoffe ich, dass dieser kurze Artikel den Lesern weiterhelfen kann .2.Installieren
Also als Erstes wollen wir erst einmal alles sauber installieren, denn da hab ich bisher die meisten Fragen zu bekommen. Was wir am Anfang brauchen und ich nur der Vollständigkeit halber hier aufzähle, ist der Dev-Cpp und die Qt-libraryDev-Cpp:
http://sourceforge.net/projects/dev-cpp/
Qt/Windows Open Source Edition:
http://www.trolltech.com/download/qt/windows.htmlAlso das Installieren von Dev-Cpp sollte keine Probleme darstellen. Deswegen überspringe ich das gleich und gehe zur Installation von Qt.
Nachdem ihr die ausführbare Datei heruntergeladen habt, könnt ihr sie ganz normal ausführen und dem Installationsassistenten folgen und damit die Qt-Dateien auf eure Festplatte kopieren. Jetzt nicht vergessen, in den Qt-Ordner zu wechseln und die configure.exe auszuführen. Dann nur noch die Lizenz mit einem `y` bestätigen.
Bild1Das war bisher der einfache Teil, der auch immer bestens geklappt, nur kommt dann oft die Frage: „Wie binde ich das jetzt unter Dev-Cpp ein?“. Da dem gutem evilissimo die Frage anscheinend auch zu oft gestellt wurde, hat er ein kleines Programm geschrieben, das hier sehr hilfreich ist und für uns ein paar Arbeiten übernimmt. Ich verweise mal gleich drauf: http://www.evilissimo-softdev.de/downloads.html. Es ist der QT-Template-Installer.
Den kopieren wir in unser Dev-Cpp-Verzeichnis und führen ihn aus. Jetzt sollte nur kurz ein Fenster aufpoppen und schnell wieder verschwinden. Wenn wir Dev-Cpp öffnen, sollte unter „Neue Projekte“ im „Basic“-Reiter ein „QT 4.0 Application“ auswählbar sein (siehe Bild 2). ~Kann es sein, dass du das damit meintest? weiß ja nicht, dein Satz davor war so unverständlich~
Bild 2Um fortzufahren, wählen wir „QT 4.0 Application“ aus und erstellen ein neues Projekt. Danach sehen wir ein kleines Beispielprogramm, das ein Fesnter erstellt, indem ein Button mit der Beschriftung „Servus Welt“ erscheint. Wenn ihr das ganze jetzt kompilieren könnt, könnt ihr den nächsten Teil überspringen.
So, jetzt wollen wir das ganze auf unser System abstimmen. Also gehen wir unter „Tools -> Compiler Options“. Dort wählen wir den Reiter „Directories“ und gucken, ob die Qt-include-Verzeichnisse richtig eingetragen sind. Also wählen wir den „C++ Includes“-Reiter aus und gucken nach den Qt-Verzeichnissen. Wenn dort keine sind, müsst ihr mit „Add“ „QT\include“ und alle Verzeichnisse in „QT\include“ einzeln einfügen. So, dass es wie auf Bild 3 aussieht.
Bild3Dasselbe müsst ihr noch mal unter „Project->Project Options“ machen. Wenn das erledigt ist, müsst ihr den Reiter „Parameters“ auswählen und dort unter Linker alle Verzeichnisse löschen, die sich auf Qt beziehen, und dann mit Hilfe von „Add Library or Object“ in das Qt-Verzeichnis gehen und dort alle Dateien auswählen, die im lib-Ordner enthalten sind; auf „OK“ klicken und nun sollten sie alle im Linkerfeld erscheinen. Dann klickt ihr auf „OK“ und dann solltet ihr noch mal versuchen, das ganze zu kompilieren. Wenn es immer noch nicht funktioniert, solltet ihr erst mal gucken, ob ihr irgendwas übersprungen habt, oder im Forum posten.
3.qmake
Bevor wir hier weiter machen, kommt ein bisschen Theorie. Was passiert eigentlich, wenn wir auf "Kompilieren" drücken?
Bild 4Es geschehen folgende Schritte:
- 1. Es wird das make-Programm ausgeführt, dem das von dev-cpp erstellte make file als Parameter angeben wird. In dem make file stehen die Abhängigkeiten unserer Projektdateien.
- 2. Jetzt werden unsere cpp-files vom Compiler zu Objektdateien kompiliert. Unser Kompiler wandelt also unsere Cpp-Dateien in eine Maschinensprache um.
- 3. Als Nächstes werden die Objektdateien mit den Bibliotheken gelinkt. Es
werden unsere Dateien mit der oder den Bibliotheken, die wir benutzen, zu einem Binary File zusammengepackt. Unter Windows heißt das zu einer .EXE Datei.
Bild 5Dasselbe passiert, wenn wir ein QT-Projekt kompilieren wollen, nur das make files plattform- und compilerabhängig sind. Das hat Trolltech durch eine Spracherweiterung mit Makros gelöst. Wozu und wie intressiert an dieser stelle nicht. Aber wer mehr darüber erfahren möchte, findet hier mehr [http://www.trolltech.com/developer/doc.html].
Im Enddefekt passiert dasselbe, nur dass ein Schritt dazu kommt. Es werden unsere Cpp-Dateien im MOT (Meta Object Compiler) in Cpp-Dateien übersetzt. Diese gehen dann an unseren Compiler und es geht wie oben beschrieben weiter. Der MOT ist im Enddefekt dasselbe wie unser Compiler, nur dass er keine Objektdateien generiert, sondern Cpp-Dateien. Damit dieses passiert, müssen wir mittels qmake erst einen .pro-file und dann damit einen make file generieren.Als Erstes öffnen wir die Konsole und wechseln in das Projektverzeichnis. Als Erstes müssen wir die .pro-Datei erstellen. Das passiert, indem wir
>qmake -project
eingeben.
Wenn jetzt eine leere Zeile und ein neuer Prompt kommt, dann läuft alles richtig.
Wenn nicht, sondern der Befehl oder die Datei nicht gefunden werden konnte, dann müsst ihr unter „Systemsteuerung->System“ den Reiter „Erweitert“ und dann den Button "Umgebungsvariablen" auswählen. In dem Dialog unter Systemvariablen sucht ihr nach der Variable „PATH“, drückt den „Bearbeiten“-Button und fügt am Ende „EuerQtPath\bin“ ein. Drückt „OK“ und versucht die Eingabe von „>qmake –project“ erneut.
Bild 6Zur Kontrolle könnt ihr in euren Projektordner schauen. Dort sollte es jetzt eine *.pro-Datei und ein make file geben. Danach gebt ihr „>qmake“ ein und dann müssten zwei Files dazugekommen sein, ein „Makefile.Debug“ und ein “Makefile.Release“. Damit haben wir unser makefile erstellt und müssen das nun in unsere DevCpp-Umgebung einbinden.
Bild 7Damit gehen wir wieder zum Dev-Cpp zurück und öffnen die „Projektoptionen“. Sie wählen diesmal den „make file“-Reiter. Dort klicken Sie die „Use custom make file (…)“-Checkbox aus, wählen den Ordner neben dem leeren Textfeld aus und benutzen jetzt einen der beiden zuletzt erstellten Dateien, was dann in etwa wie auf Bild 6 aussehen sollte.
Bild 8Jetzt solltet ihr das Projekt einmal kompilieren und in dem Release- oder Debugordner nach der *.exe schauen, ob sie ordnungsgemäß erstellt wurde.
Zum Schluss wollen wir, dass nach dem Kompilieren DevCpp die EXE auch ausführen kann. Dafür wählen wir in dem „Project Options“-Dialog den „Build Options“-Reiter. Daraufhin klicken wir den Button neben dem „Executable output directory"-Eingabefeld an und wählen dann dementsprechend den „Release“- oder „Debug“-Ordner aus. Zum Schluss geben wir im untersten Textfeld den Namen der ausführbaren Datei ein. Jetzt sollte euer Programm kompiliert werden. Wenn ihr neue Dateien dazufügt, müsst ihr auch eine neue proj-Datei erstellen und den Rest wie oben beschrieben noch einmal machen. Wenn euch das zu viel ist, könnt ihr euch auch ein Script schreiben, das ihr anstatt des make files einfügt und das jedes Mal die vorhin beschriebenen Schritte ausführt.
Ich hoffe, ich konnte weiterhelfen,
Gruß mosta
-
Da waren etliche Fehler drin. Bitte wenns geht noch einmal von jdm. anders durchgucken lassen.
Mr. B
-
Mr. B schrieb:
Projekte mit Qt und Dev-cpp(mingw) kompilieren
Inhalt
- 1 Einleitung
- 2 Installieren
- 3 qmake
1 Einleitung
Da ich öfters in letzter Zeit gefragt wurde, wie man denn die Qt/Windows Open Source Edition unter Dev-Cpp installiert und da ich beim Kompilieren von Projekten Probleme hatte und dafür keine richtige Beschreibung gefunden habe, die das gut zusammenfasst, kam ich auf die Idee, selber was zu schreiben. Also hoffe ich, dass dieser kurze Artikel den Lesern weiterhelfen kann .
2. Installieren
Also als Erstes wollen wir erst einmal alles sauber installieren, denn da hab ich bisher die meisten Fragen zu bekommen. Was wir am Anfang brauchen und ich nur der Vollständigkeit halber hier aufzähle, ist der Dev-Cpp und die Qt-library
Dev-Cpp:
http://sourceforge.net/projects/dev-cpp/
Qt/Windows Open Source Edition:
http://www.trolltech.com/download/qt/windows.htmlAlso das Installieren von Dev-Cpp sollte keine Probleme darstellen. Deswegen überspringe ich das gleich und gehe zur Installation von Qt.
Nachdem ihr die ausführbare Datei heruntergeladen habt, könnt ihr sie ganz normal ausführen und dem Installationsassistenten folgen und damit die Qt-Dateien auf eure Festplatte kopieren. Jetzt nicht vergessen, in den Qt-Ordner zu wechseln und die configure.exe auszuführen. Dann nur noch die Lizenz mit einem `y` bestätigen.
Bild1Das war bisher der einfache Teil, der auch immer bestens geklappt, nur kommt dann oft die Frage: „Wie binde ich das jetzt unter Dev-Cpp ein?“. Da dem gutem evilissimo die Frage anscheinend auch zu oft gestellt wurde, hat er ein kleines Programm geschrieben, das hier sehr hilfreich ist und für uns ein paar Arbeiten übernimmt. Ich verweise mal gleich drauf: http://www.evilissimo-softdev.de/downloads.html. Es ist der QT-Template-Installer.
Den kopieren wir in unser Dev-Cpp-Verzeichnis und führen ihn aus. Jetzt sollte nur kurz ein Fenster aufpoppen und schnell wieder verschwinden. Wenn wir Dev-Cpp öffnen, sollte unter „Neue Projekte“ im „Basic“-Reiter ein „QT 4.0 Application“ auswählbar sein (siehe Bild 2). ~Kann es sein, dass du das damit meintest? weiß ja nicht, dein Satz davor war so unverständlich~
Bild 2Um fortzufahren, wählen wir „QT 4.0 Application“ aus und erstellen ein neues Projekt. Danach sehen wir ein kleines Beispielprogramm, das ein Fesnter erstellt, indem ein Button mit der Beschriftung „Servus Welt“ erscheint. Wenn ihr das ganze jetzt kompilieren könnt, könnt ihr den nächsten Teil überspringen.
So, jetzt wollen wir das ganze auf unser System abstimmen. Also gehen wir unter „Tools -> Compiler Options“. Dort wählen wir den Reiter „Directories“ und gucken, ob die Qt-include-Verzeichnisse richtig eingetragen sind. Also wählen wir den „C++ Includes“-Reiter aus und gucken nach den Qt-Verzeichnissen. Wenn dort keine sind, müsst ihr mit „Add“ „QT\include“ und alle Verzeichnisse in „QT\include“ einzeln einfügen. So, dass es wie auf Bild 3 aussieht.
Bild3Dasselbe müsst ihr noch mal unter „Project->Project Options“ machen. Wenn das erledigt ist, müsst ihr den Reiter „Parameters“ auswählen und dort unter Linker alle Verzeichnisse löschen, die sich auf Qt beziehen, und dann mit Hilfe von „Add Library or Object“ in das Qt-Verzeichnis gehen und dort alle Dateien auswählen, die im lib-Ordner enthalten sind; auf „OK“ klicken und nun sollten sie alle im Linkerfeld erscheinen. Dann klickt ihr auf „OK“ und dann solltet ihr noch mal versuchen, das Ganze zu kompilieren. Wenn es immer noch nicht funktioniert, solltet ihr erst mal gucken, ob ihr irgendwas übersprungen habt, oder im Forum posten.
3 qmake
Bevor wir hier weiter machen, kommt ein bisschen Theorie. Was passiert eigentlich, wenn wir auf "Kompilieren" drücken?
Bild 4Es geschehen folgende Schritte:
- 1. Es wird das make-Programm ausgeführt, dem das von dev-cpp erstellte make file als Parameter angeben wird. In dem make file stehen die Abhängigkeiten unserer Projektdateien.
- 2. Jetzt werden unsere cpp-files vom Compiler zu Objektdateien kompiliert. Unser Kompiler wandelt also unsere Cpp-Dateien in eine Maschinensprache um.
- 3. Als Nächstes werden die Objektdateien mit den Bibliotheken gelinkt. Es werden unsere Dateien mit der oder den Bibliotheken, die wir benutzen, zu einem Binary File zusammengepackt. Unter Windows heißt das zu einer .EXE Datei.
Bild 5Dasselbe passiert, wenn wir ein QT-Projekt kompilieren wollen, nur dass make files plattform- und compilerabhängig sind. Das hat Trolltech durch eine Spracherweiterung mit Makros gelöst. Wozu und wie intressiert an dieser stelle nicht. Aber wer mehr darüber erfahren möchte, findet hier mehr [http://www.trolltech.com/developer/doc.html].
Im Enddefekt passiert dasselbe, nur dass ein Schritt dazu kommt. Es werden unsere Cpp-Dateien im MOT (Meta Object Compiler) in Cpp-Dateien übersetzt. Diese gehen dann an unseren Compiler und es geht wie oben beschrieben weiter. Der MOT ist im Enddefekt dasselbe wie unser Compiler, nur dass er keine Objektdateien generiert, sondern Cpp-Dateien. Damit dieses passiert, müssen wir mittels qmake erst einen .pro-file und dann damit einen make file generieren.Als Erstes öffnen wir die Konsole und wechseln in das Projektverzeichnis. Als Erstes müssen wir die .pro-Datei erstellen. Das passiert, indem wir
>qmake -project
eingeben.
Wenn jetzt eine leere Zeile und ein neuer Prompt kommt, dann läuft alles richtig.
Wenn nicht, sondern der Befehl oder die Datei nicht gefunden werden konnte, dann müsst ihr unter „Systemsteuerung->System“ den Reiter „Erweitert“ und dann den Button "Umgebungsvariablen" auswählen. In dem Dialog unter Systemvariablen sucht ihr nach der Variable „PATH“, drückt den „Bearbeiten“-Button und fügt am Ende „EuerQtPath\bin“ ein. Drückt „OK“ und versucht die Eingabe von „>qmake –project“ erneut.
Bild 6Zur Kontrolle könnt ihr in euren Projektordner schauen. Dort sollte es jetzt eine *.pro-Datei und ein make file geben. Danach gebt ihr „>qmake“ ein und dann müssten zwei Files dazugekommen sein, ein „Makefile.Debug“ und ein “Makefile.Release“. Damit haben wir unser makefile erstellt und müssen das nun in unsere DevCpp-Umgebung einbinden.
Bild 7Damit gehen wir wieder zum Dev-Cpp zurück und öffnen die „Projektoptionen“. Wählt diesmal den „make file“-Reiter. Dort klick ihr die „Use custom make file (…)“-Checkbox aus, wählt den Ordner neben dem leeren Textfeld aus und benutzt jetzt einen der beiden zuletzt erstellten Dateien, was dann in etwa wie auf Bild 6 aussehen sollte.
Bild 8Jetzt solltet ihr das Projekt einmal kompilieren und in dem Release- oder Debugordner nach der *.exe schauen, ob sie ordnungsgemäß erstellt wurde.
Zum Schluss wollen wir, dass nach dem Kompilieren DevCpp die EXE auch ausführen kann. Dafür wählen wir in dem „Project Options“-Dialog den „Build Options“-Reiter. Daraufhin klicken wir den Button neben dem „Executable output directory"-Eingabefeld an und wählen dann dementsprechend den „Release“- oder „Debug“-Ordner aus. Zum Schluss geben wir im untersten Textfeld den Namen der ausführbaren Datei ein. Jetzt sollte euer Programm kompiliert werden. Wenn ihr neue Dateien dazufügt, müsst ihr auch eine neue proj-Datei erstellen und den Rest wie oben beschrieben noch einmal machen. Wenn euch das zu viel ist, könnt ihr euch auch ein Script schreiben, das ihr anstatt des make files einfügt und das jedes Mal die vorhin beschriebenen Schritte ausführt.
Ich hoffe, ich konnte weiterhelfen,
Gruß mosta
Ich habe das Layout angepasst, damit es so aussieht wie vorgegeben ist.
Außerdem hab ich in dem einen Absatz die Anrede angepasst: Immer "wir und ihr" und plötzlich "Sie" las sich komisch.Du verwendest so komische Anführungszeichen (bis auf einige Stellen), da wäre es schön, wenn die einheitlich wären, am liebsten auf die normalen "" angepasst statt „“. Die sehen in der Forumschriftart einfach nur fusselig aus.
-
Jo, das mit dem Sie hab ich vergessen zu erwähnen, aber ernsthaft mal... da waren so viele Fehler drin und ich stand mal wieder unter Zeitdruck...
Mr. B
-
Projekte mit Qt und Dev-cpp(MinGW) kompilieren
Inhalt
- 1 Einleitung
- 2 Installieren
- 3 qmake
1 Einleitung
Da ich in letzter Zeit oft gefragt wurde, wie man denn die "Qt/Windows Open Source Edition" unter Dev-Cpp installiert und da ich beim Kompilieren von Projekten Probleme hatte und dafür keine richtige Beschreibung gefunden habe, die das gut zusammenfasst, kam ich auf die Idee, selber was zu schreiben. Also hoffe ich, dass dieser kurze Artikel den Lesern weiterhelfen kann .
2 Installieren
Zunächst sollten Sie erst einmal alles sauber installieren, denn dazu habe ich bisher die meisten Fragen bekommen. Was Sie am Anfang brauchen und ich nur der Vollständigkeit halber hier aufzähle, ist der Dev-Cpp und die Qt-Library.
Dev-Cpp:
http://sourceforge.net/projects/dev-cpp/
Qt/Windows Open Source Edition:
http://www.trolltech.com/download/qt/windows.htmlDas Installieren von Dev-Cpp sollte keine Probleme darstellen. Deswegen überspringe ich das gleich und gehe zur Installation von Qt.
Nachdem Sie die ausführbare Datei heruntergeladen haben, können Sie sie ganz normal ausführen und dem Installationsassistenten folgen und damit die Qt-Dateien auf Ihre Festplatte kopieren. Jetzt nicht vergessen, in den Qt-Ordner zu wechseln und die configure.exe auszuführen. Dann ist nur noch die Lizenz mit einem 'y' zu bestätigen.
Bild1Das war bisher der einfache Teil, der auch immer bestens klappt, nur kommt dann oft die Frage: "Wie binde ich das jetzt unter Dev-Cpp ein?". Da dem gutem evilissimo die Frage anscheinend auch zu oft gestellt wurde, hat er ein kleines Programm geschrieben, das hier sehr hilfreich ist und für Sie ein paar Arbeiten übernimmt. Ich verweise mal gleich darauf: http://www.evilissimo-softdev.de/downloads.html. Es ist der QT-Template-Installer.
Den kopieren Sie in Ihr Dev-Cpp-Verzeichnis und führen ihn aus. Jetzt sollte nur kurz ein Fenster aufpoppen und schnell wieder verschwinden. Wenn Sie nun Dev-Cpp öffnen, sollte unter "Neue Projekte" im "Basic"-Reiter ein "QT 4.0 Application" auswählbar sein (siehe Bild 2). ~"Kann es sein, dass du das damit meintest? weiß ja nicht, dein Satz davor war so unverständlich" <- Mr. B: ich glaub schon ~
Bild 2Um fortzufahren, wählen Sie "QT 4.0 Application" aus und erstellen ein neues Projekt. Danach sehen Sie ein kleines Beispielprogramm, das ein Fenster erstellt, in dem ein Button mit der Beschriftung "Servus Welt" erscheint. Wenn Sie das Programm jetzt kompilieren können, können Sie den nächsten Teil überspringen.
So, jetzt müssen Sie das ganze auf Ihr System abstimmen. Dazu gehen Sie unter "Tools -> Compiler Options". Dort wählen Sie den Reiter "Directories" und sehen nach, ob die Qt-Include-Verzeichnisse richtig eingetragen sind. Wählen Sie den "C++ Includes"-Reiter aus und suchen nach den Qt-Verzeichnissen. Wenn dort keine sind, müssen Sie mit "Add" "QT\include" und alle Verzeichnisse in "QT\include" einzeln einfügen. So, dass es wie auf Bild 3 aussieht.
Bild3Dasselbe müssen Sie noch mal unter "Project->Project Options" machen. Wenn das erledigt ist, müssen Sie den Reiter "Parameters" auswählen und dort unter Linker alle Verzeichnisse löschen, die sich auf Qt beziehen, und dann mit Hilfe von "Add Library or Object" in das Qt-Verzeichnis gehen und dort alle Dateien auswählen, die im lib-Ordner enthalten sind; auf "OK" klicken und nun sollten sie alle im Linkerfeld erscheinen. Dann klicken Sie auf "OK" und anschließend sollten Sie noch mal versuchen, das Programm zu kompilieren. Wenn es immer noch nicht funktioniert, sollten Sie erst einmal überprüfen, ob Sie irgendetwas übersprungen haben, oder im Forum posten.
3 qmake
Bevor es hier weiter geht, kommt ein bisschen Theorie. Was passiert eigentlich, wenn Sie auf "Kompilieren" drücken?
Bild 4Es geschehen folgende Schritte:
- 1. Es wird das make-Programm ausgeführt, dem das von Dev-cpp erstellte make-file als Parameter angeben wird. In dem make-file stehen die Abhängigkeiten Ihrer Projektdateien.
- 2. Jetzt werden die cpp-Dateien vom Compiler zu Objektdateien kompiliert. Der Kompiler wandelt also Ihre cpp-Dateien in eine Maschinensprache um.
- 3. Als Nächstes werden die Objektdateien mit den Bibliotheken gelinkt. Es werden Ihre Dateien mit der oder den Bibliotheken, die Sie benutzen, zu einem Binary File zusammengepackt. Unter Windows heißt das zu einer .EXE Datei.
Bild 5Dasselbe passiert, wenn Sie ein Qt-Projekt kompilieren wollen, nur dass make-files plattform- und compilerabhängig sind. Das hat Trolltech durch eine Spracherweiterung mit Makros gelöst. Wozu und wie intressiert an dieser stelle nicht. Aber wer mehr darüber erfahren möchte, findet hier mehr [http://www.trolltech.com/developer/doc.html].
Im Enddefekt passiert dasselbe, nur dass ein Schritt dazu kommt. Es werden Ihre cpp-Dateien im MOT (Meta Object Compiler) in cpp-Dateien übersetzt. Diese gehen dann an den Compiler und es geht wie oben beschrieben weiter. Der MOT ist im Enddefekt dasselbe wie der Compiler, nur dass er keine Objektdateien generiert, sondern cpp-Dateien. Damit dies funktioniert, müssen Sie mittels qmake erst eine .pro-Datei und dann damit ein make-file generieren.Öffnen Sie die Konsole und wechseln Sie in das Projektverzeichnis. Als Erstes müssen Sie die .pro-Datei erstellen. Das passiert, indem Sie
>qmake -project
eingeben.
Wenn jetzt eine leere Zeile und ein neuer Prompt kommt, dann läuft alles richtig.
Wenn nicht, sondern der Befehl oder die Datei nicht gefunden werden konnte, dann müssen Sie unter "Systemsteuerung->System" den Reiter "Erweitert" und dann den Button "Umgebungsvariablen" auswählen. In dem Dialog unter Systemvariablen suchen Sie nach der Variable "PATH", drücken den "Bearbeiten"-Button und fügen am Ende "EuerQtPath\bin" ein. Drücken Sie "OK" und versuchen Sie die Eingabe von ">qmake –project" erneut.
Bild 6Zur Kontrolle können Sie in Ihrem Projektordner nachsehen. Dort sollte es jetzt eine .pro-Datei und ein make-file geben. Danach geben Sie ">qmake" ein und dann müssten zwei Dateien dazugekommen sein, ein "Makefile.Debug" und ein "Makefile.Release". Damit haben Sie das make-file erstellt und müssen das nun in die DevCpp-Umgebung einbinden.
Bild 7Dazu gehen Sie wieder zum Dev-Cpp zurück und öffnen die "Projektoptionen". Wählen Sie diesmal den "Makefile"-Reiter. Dort klicken Sie die "Use custom make file (…)"-Checkbox aus, wählen den Ordner neben dem leeren Textfeld aus und benutzen jetzt eine der beiden zuletzt erstellten Dateien, was dann in etwa wie auf Bild 6 aussehen sollte.
Bild 8Jetzt sollten Sie das Projekt einmal kompilieren und in dem Release- oder Debugordner nach der *.exe schauen, ob sie ordnungsgemäß erstellt wurde.
Zum Schluss wollen Sie wahrscheinlich, dass nach dem Kompilieren DevCpp die EXE auch ausführen kann. Dafür wählen Sie in dem "Project Options"-Dialog den "Build Options"-Reiter. Daraufhin klicken Sie den Button neben dem "Executable output directory"-Eingabefeld an und wählen dann dementsprechend den "Release"- oder "Debug"-Ordner aus. Schließlich geben Sie im untersten Textfeld den Namen der ausführbaren Datei ein. Jetzt sollte Ihr Programm kompiliert werden. Wenn Sie neue Dateien hinzufügt, müssen Sie auch eine neue .pro-Datei erstellen und den Rest wie oben beschrieben noch einmal machen. Wenn Ihnen das zu viel Arbeit ist, könnt Sie sich auch ein Script schreiben, das Sie anstatt des make-files einfügen und das jedes Mal die vorhin beschriebenen Schritte ausführt.
Ich hoffe, ich konnte weiterhelfen,
Gruß mosta
-----
So, ich hatte gerade etwas Zeit. (Naja, hat aber trotzdem länger gedauert, als ich erwartet habe )
Ich habe jetzt mal alle Anführungszeichen, stellenweise den Stil (Umgangssprache) und die Anrede in Sie geändert.
@estartu
Sorry wenn du dir jetzt unnötige Arbeit gemacht hast, aber ich finde, dass man den Artikel, so wie er bisher war, nicht veröffentlichen hätte können.Rechtschreibkorrektur hatte Mr. B ja zum Glück schon ziemlich vollständig gemacht
Noch ein kleiner Layout-Vorschlag:
Ich finde, man sollte die Bildunterschriften irgendwie vom Fließtext abheben, imho indem man sie kursiv macht.
-
3 qmake
Bevor es hier weiter geht, kommt ein bisschen Theorie. Was passiert eigentlich, wenn Sie auf "Kompilieren" drücken?
klingt irgendwie komisch, da ist es doch besser wenn man das so schreibt
3 qmake
Bevor es hier weiter geht, kommt ein bisschen Theorie. Was passiert eigentlich, nachdem auf "Kompilieren" gedrückt wurde?
ich kuck mir nochmal den rest an.
Das mit der Formatierung kommt durch Word. Hab dadrin die "rohfassung" geschrieben.
zwecks den bildern wär besser wenn man die Zentrieren könnte. Dann kleben die nicht so an der Ecke.
-
-predator- schrieb:
Projekte mit Qt und Dev-C++(MinGW) kompilieren
Inhalt
- 1 Einleitung
- 2 Installieren
- 3 qmake
1 Einleitung
Da ich in letzter Zeit oft gefragt wurde, wie man denn die "Qt/Windows Open Source Edition" unter Dev-C++ installiert und ich beim Kompilieren von Projekten Probleme hatte und dafür keine richtige Beschreibung gefunden habe, die das gut zusammenfasst, kam ich auf die Idee, selber was zu schreiben. Also hoffe ich, dass dieser kurze Artikel den Lesern weiterhelfen kann .
2 Installieren
Zunächst sollten Sie erst einmal alles sauber installieren, denn dazu habe ich bisher die meisten Fragen bekommen. Was Sie am Anfang brauchen und ich nur der Vollständigkeit halber hier aufzähle, ist der Dev-C++ und die Qt-Library.
Dev-C++:
http://sourceforge.net/projects/dev-cpp/
Qt/Windows Open Source Edition:
http://www.trolltech.com/download/qt/windows.htmlDas Installieren von Dev-C++ sollte keine Probleme darstellen. Deswegen überspringe ich das gleich und gehe zur Installation von Qt.
Nachdem Sie die ausführbare Datei heruntergeladen haben, können Sie sie ganz normal ausführen und dem Installationsassistenten folgen und damit die Qt-Dateien auf Ihre Festplatte kopieren. Jetzt nicht vergessen, in den Qt-Ordner zu wechseln und die configure.exe auszuführen. Dann ist nur noch die Lizenz mit einem 'y' zu bestätigen.
Bild1Das war bisher der einfache Teil, der auch immer bestens klappt, nur kommt dann oft die Frage: "Wie binde ich das jetzt unter Dev-C++ ein?". Da dem gutem evilissimo die Frage anscheinend auch zu oft gestellt wurde, hat er ein kleines Programm geschrieben, das hier sehr hilfreich ist und für Sie ein paar Arbeiten übernimmt. Ich verweise mal gleich darauf: http://www.evilissimo-softdev.de/downloads.html. Es ist der QT-Template-Installer.
Den kopieren Sie in Ihr Dev-C++-Verzeichnis und führen ihn aus. Jetzt sollte nur kurz ein Fenster aufpoppen und schnell wieder verschwinden. Wenn Sie nun Dev-C++ öffnen, sollte unter "Neue Projekte" im "Basic"-Reiter ein "QT 4.0 Application" auswählbar sein (siehe Bild 2). ~"Kann es sein, dass du das damit meintest? weiß ja nicht, dein Satz davor war so unverständlich" <- Mr. B: ich glaub schon keine ahnung was du meinst~
Bild 2Um fortzufahren, wählen Sie "QT 4.0 Application" aus und erstellen ein neues Projekt. Danach sehen Sie ein kleines Beispielprogramm, das ein Fenster erstellt, in dem ein Button mit der Beschriftung "Servus Welt" erscheint. Wenn Sie das Programm jetzt kompilieren können, können Sie den nächsten Teil überspringen.
So, jetzt müssen Sie das ganze auf Ihr System abstimmen. Dazu gehen Sie unter "Tools -> Compiler Options". Dort wählen Sie den Reiter "Directories" und sehen nach, ob die Qt-Include-Verzeichnisse richtig eingetragen sind. Wählen Sie den "C++ Includes"-Reiter aus und suchen nach den Qt-Verzeichnissen. Wenn dort keine sind, müssen Sie mit "Add" "QT\include" und alle Verzeichnisse in "QT\include" einzeln einfügen. So, dass es wie auf Bild 3 aussieht.
Bild3Dasselbe müssen Sie noch mal unter "Project->Project Options" machen. Wenn das erledigt ist, müssen Sie den Reiter "Parameters" auswählen und dort unter Linker alle Verzeichnisse löschen, die sich auf Qt beziehen, und dann mit Hilfe von "Add Library or Object" in das Qt-Verzeichnis gehen und dort alle Dateien auswählen, die im lib-Ordner enthalten sind; auf "OK" klicken und nun sollten sie alle im Linkerfeld erscheinen. Dann klicken Sie auf "OK" und anschließend sollten Sie noch mal versuchen, das Programm zu kompilieren. Wenn es immer noch nicht funktioniert, sollten Sie erst einmal überprüfen, ob Sie irgendetwas übersprungen haben, oder im Forum posten.
3 qmake
Bevor es hier weiter geht, kommt ein bisschen Theorie. Was passiert eigentlich, nachdem auf "Kompilieren" gedrückt wurde?
Bild 4Es geschehen folgende Schritte:
- 1. Es wird das make-Programm ausgeführt, dem das von Dev-C++ erstellte make-file als Parameter angeben wird. In dem make-file stehen die Abhängigkeiten Ihrer Projektdateien.
- 2. Jetzt werden die cpp-Dateien vom Compiler zu Objektdateien kompiliert. Der Kompiler wandelt also Ihre cpp-Dateien in eine Maschinensprache um.
- 3. Als Nächstes werden die Objektdateien mit den Bibliotheken gelinkt. Es werden Ihre Dateien mit der oder den Bibliotheken, die Sie benutzen, zu einem Binary File zusammengepackt. Unter Windows heißt das zu einer .EXE Datei.
Bild 5Dasselbe passiert, wenn Sie ein Qt-Projekt kompilieren wollen, nur dass make-files plattform- und compilerabhängig sind. Das hat Trolltech durch eine Spracherweiterung mit Makros gelöst. Wozu und wie intressiert an dieser stelle nicht. Aber wer mehr darüber erfahren möchte, findet hier mehr [http://www.trolltech.com/developer/doc.html].
Im Enddefekt passiert dasselbe, nur dass ein Schritt dazu kommt. Es werden Ihre cpp-Dateien im MOT (Meta Object Compiler) in cpp-Dateien übersetzt. Diese gehen dann an den Compiler und es geht wie oben beschrieben weiter. Der MOT ist im Enddefekt dasselbe wie der Compiler, nur dass er keine Objektdateien generiert, sondern cpp-Dateien. Damit dies funktioniert, müssen Sie mittels qmake erst eine .pro-Datei und dann damit ein make-file generieren.Öffnen Sie die Konsole und wechseln Sie in das Projektverzeichnis. Als Erstes müssen Sie die .pro-Datei erstellen. Das passiert, indem Sie
>qmake -project
eingeben.
Wenn jetzt eine leere Zeile und ein neuer Prompt kommt, dann läuft alles richtig.
Wenn nicht, sondern der Befehl oder die Datei nicht gefunden werden konnte, dann müssen Sie unter "Systemsteuerung->System" den Reiter "Erweitert" und dann den Button "Umgebungsvariablen" auswählen. In dem Dialog unter Systemvariablen suchen Sie nach der Variable "PATH", drücken den "Bearbeiten"-Button und fügen am Ende "EuerQtPath\bin" ein. Drücken Sie "OK" und versuchen Sie die Eingabe von ">qmake –project" erneut.
Bild 6Zur Kontrolle können Sie in Ihrem Projektordner nachsehen. Dort sollte es jetzt eine .pro-Datei und ein make-file geben. Danach geben Sie ">qmake" ein und dann müssten zwei Dateien dazugekommen sein, ein "Makefile.Debug" und ein "Makefile.Release". Damit haben Sie das make-file erstellt und müssen das nun in die Dev-C++-Umgebung einbinden.
Bild 7Dazu gehen Sie wieder zum Dev-C++ zurück und öffnen die "Projektoptionen". Wählen Sie diesmal den "Makefile"-Reiter. Dort klicken Sie die "Use custom make file (…)"-Checkbox aus, wählen den Ordner neben dem leeren Textfeld aus und benutzen jetzt eine der beiden zuletzt erstellten Dateien, was dann in etwa wie auf Bild 6 aussehen sollte.
Bild 8Jetzt sollten Sie das Projekt einmal kompilieren und in dem Release- oder Debugordner nach der *.exe schauen, ob sie ordnungsgemäß erstellt wurde.
Zum Schluss wollen Sie wahrscheinlich, dass nach dem Kompilieren Dev-C++ die EXE auch ausführen kann. Dafür wählen Sie in dem "Project Options"-Dialog den "Build Options"-Reiter. Daraufhin klicken Sie den Button neben dem "Executable output directory"-Eingabefeld an und wählen dann dementsprechend den "Release"- oder "Debug"-Ordner aus. Schließlich geben Sie im untersten Textfeld den Namen der ausführbaren Datei ein. Jetzt sollte Ihr Programm kompiliert werden. Wenn Sie neue Dateien hinzufügt, müssen Sie auch eine neue .pro-Datei erstellen und den Rest wie oben beschrieben noch einmal durchführen. Wenn Ihnen das zu viel Arbeit ist, können Sie sich auch ein Script schreiben, das Sie anstatt des make-files einfügen und das jedes Mal die vorhin beschriebenen Schritte ausführt.
Ich hoffe, ich konnte weiterhelfen,
Gruß mosta
-----
hab nur ein zwei Formulierungen geändert.
-
Fertig?