Im .pro File weiteres .pro File aufrufen
-
- Beiträge: 11
- Registriert: 6. April 2010 11:21
Im .pro File weiteres .pro File aufrufen
Hallo,
ich nutze in meinem QT-Projekt die Klasse qextserialport. Die qextserialport steuert die serielle Schnittstelle an, diese habe ich im Internet gefunden. Ich benutze die lib-Datei dieser Klasse.
Meine Frage ist nun, ob es möglich ist, in meinem Hauptprojekt, indem die qextserialport benutzt wird in der .pro Datei so die Einstellungen zu machen, dass die .pro-Datei der qextserialport aufgerufen wird. Damit würde die .lib der qextserialport automatisch erzeugt werden. Bisher muss ich immer erst die .pro der qextserialport ausführen und dann die .pro meines Hauptprojektes.
Viele Dank
ich nutze in meinem QT-Projekt die Klasse qextserialport. Die qextserialport steuert die serielle Schnittstelle an, diese habe ich im Internet gefunden. Ich benutze die lib-Datei dieser Klasse.
Meine Frage ist nun, ob es möglich ist, in meinem Hauptprojekt, indem die qextserialport benutzt wird in der .pro Datei so die Einstellungen zu machen, dass die .pro-Datei der qextserialport aufgerufen wird. Damit würde die .lib der qextserialport automatisch erzeugt werden. Bisher muss ich immer erst die .pro der qextserialport ausführen und dann die .pro meines Hauptprojektes.
Viele Dank
-
- Beiträge: 11
- Registriert: 6. April 2010 11:21
Vielen Dank erstmal für den Hinweis mit den SubDirs, das scheint die richtige Richtung zu sein.
Ich habe bisher in dem Makefile meines Hauptprogrammes folgendes am Anfang ergänzt (Da erst die lib von QExtSerialport erstellt werden soll), bevor das Hauptprojekt erstellt wird.
Das .pro File von QExtSerialport existiert ja bereits, dort ist Template auch auf .lib gestellt.
Es passiert jedoch nichts, wenn ich das .pro File vom Hauptprogramm ausführe. Es kommt jedoch auch keine Fehlermeldung. ICh bin mir uach nicht sicher wofür der Parameter ordered steht.
Ich habe bisher in dem Makefile meines Hauptprogrammes folgendes am Anfang ergänzt (Da erst die lib von QExtSerialport erstellt werden soll), bevor das Hauptprojekt erstellt wird.
Code: Alles auswählen
TEMPLATE = subdirs
SUBDIRS = ../QExtSerial
CONFIG += ordered
SUBDIRS += build
Es passiert jedoch nichts, wenn ich das .pro File vom Hauptprogramm ausführe. Es kommt jedoch auch keine Fehlermeldung. ICh bin mir uach nicht sicher wofür der Parameter ordered steht.
Ich bin mir nicht sicher wie du das anwendest, aber wichtig ist einfach, dass du eine saubere Struktur deiner Profiles machst.
z.B.
Und in der ProjectXY.pro nur noch die Subdirs:
"ordered" bedeutet, dass die Projekte abhängig voneinander sind und daher in genau dieser Reihenfolge erstellt werden müssen (auf keinen Fall parallel..)
hth..
z.B.
Code: Alles auswählen
./QExtSerial
/QExtSerial.pro
./MyUeberProgram
/MyUeberProgram.pro
./ProjectXy.pro
Code: Alles auswählen
TEMPLATE = subdirs
CONFIG += ordered
SUBDIRS += QExtSerial
SUBDIRS += MyUeberProgram
hth..
-
- Beiträge: 11
- Registriert: 6. April 2010 11:21
(hoffentlich) Funktionierendes Minimalbeispiel
Schau mal ins Zip, falls du eine link-fehler bekommst, musst du die Library libhellolib*.* irgendwo in den Pfad packen ... irgendwie scheint mein LIBS += -L/pfad/ -lhellolib nicht zu funzen ...
Das ganze Baut ein Widget mit einem Label ("Hello") und einem Button sowie die lib (mit einer statischen Funktion).
Der Button added die ausgabe der statischen lib-fkt. an den Text des Labels ... rate mal was bei rauskommt
Die vielen obj/moc directories liegen daran das ichs gerne aufgeräumt habe
Struktur und Inhalt des Zips:
Das ganze Baut ein Widget mit einem Label ("Hello") und einem Button sowie die lib (mit einer statischen Funktion).
Der Button added die ausgabe der statischen lib-fkt. an den Text des Labels ... rate mal was bei rauskommt
Die vielen obj/moc directories liegen daran das ichs gerne aufgeräumt habe
Struktur und Inhalt des Zips:
Code: Alles auswählen
subDirs
|-- bin
|-- eins
| |-- eins.pro
| |-- hello.cpp
| |-- hello.h
| |-- main.cpp
| |-- Makefile
| |-- moc
| `-- obj
|-- lib
|-- Makefile
|-- subDirs.pro
`-- zwei
|-- hellolib.cpp
|-- hellolib.h
|-- Makefile
|-- moc
|-- obj
`-- zwei.pro
- Dateianhänge
-
- subDirExample.zip
- bittesehr ... ich hoffe das verdeutlicht es dir
- (8.78 KiB) 340-mal heruntergeladen
-
- Beiträge: 11
- Registriert: 6. April 2010 11:21
Schau dir mal die qmake Hilfe an ... dann wüsstest du was -t macht ...
Also überschreibst du das subdirs template ... frag mal die Windowsnutzer, die haben vielleicht Ahnung mit dem vsirgendwas template .. im Zweifelsfalle brauchst du das -t garnicht und gibst einfach in den .pro`s der subdirs das vs.... template an (da gibts 2, eins für apps, eins für libs ...)
Code: Alles auswählen
Usage: qmake [mode] [options] [files]
QMake has two modes, one mode for generating project files based on
some heuristics, and the other for generating makefiles. Normally you
<SNIPPPPPP>
-t templ Overrides TEMPLATE as templ
<SNAPPPPPP>