release und debug targets unter Linux
release und debug targets unter Linux
Hallo!
Also meine makefiles erstelle ich mit qmake. Unter Linux (Debian) scheint Qt keine release und debug targets zu erstellen, unter Windows schon. Warum?
Danke,
FaS
Also meine makefiles erstelle ich mit qmake. Unter Linux (Debian) scheint Qt keine release und debug targets zu erstellen, unter Windows schon. Warum?
Danke,
FaS
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Aaachso ist das. Also
und die Sache ist erledigt.
Aber eine Frage hab ich noch: "make all" macht ja nur Sinn, wenn die End-Targets verschieden sind. Folgendes funktioniert aber nicht, der nimmt einfach debug als definiert an:
Ich bitte um Aufklärung..
Danke!
Code: Alles auswählen
CONFIG += debug_and_releaseAber eine Frage hab ich noch: "make all" macht ja nur Sinn, wenn die End-Targets verschieden sind. Folgendes funktioniert aber nicht, der nimmt einfach debug als definiert an:
Code: Alles auswählen
debug {
TARGET = Bla-debug
} else {
TARGET = Bla-release
}Danke!
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Dieser Testfall
Funktioniert bei mir wie gewünscht.
Code: Alles auswählen
CONFIG += debug_and_release
CONFIG -= debug release
debug {
message("debug")
} else {
release {
message("release")
} else {
message("debug_and_release")
}
}
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Aber nicht wie von mir gewünscht 
In deinem Beispiel würde er immer debug_and_release ausgeben. Ich wollte dies aber vom Parameter bei make abhängig machen, d.h. er muss das project file für das debug target anders abarbeiten als für das release target. Komischerweise wird bei einem "qmake project.pro"-Durchlauf 3x "debug_and_release" ausgegeben, als würde er soetwas tatsächlich versuchen... Versteh ich alles nicht.
Wenn das nicht geht, was taugt dann "make all", dann werden die beiden targets sich doch gegenseitig überschreiben!
MfG,
FaS
In deinem Beispiel würde er immer debug_and_release ausgeben. Ich wollte dies aber vom Parameter bei make abhängig machen, d.h. er muss das project file für das debug target anders abarbeiten als für das release target. Komischerweise wird bei einem "qmake project.pro"-Durchlauf 3x "debug_and_release" ausgegeben, als würde er soetwas tatsächlich versuchen... Versteh ich alles nicht.
Wenn das nicht geht, was taugt dann "make all", dann werden die beiden targets sich doch gegenseitig überschreiben!
MfG,
FaS
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Debug gibt es unter Linux eh kaum - bringt also nicht viel
deckt debug und debug_and_release ab.
Code: Alles auswählen
debug* {
}
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Ich benutze zwar auch unter Windows kein debug target, aber für meinen ProjectManager würde ich das gerne vollständig haben. Man debugged unter Linux also nicht? gdb usw? Naja..
Also kann man mit einer Qt Projektdatei keine verschiedenen TARGETs definieren, wodurch "make all" erstens sinnlos wäre und zweitens der Fakt, dass in Windows make_and_release Standard ist noch viel sinnloser, da dann 2 Anwendungen erstellt werden und eine die andere überschreibt!?
Mann mann mann...
Also kann man mit einer Qt Projektdatei keine verschiedenen TARGETs definieren, wodurch "make all" erstens sinnlos wäre und zweitens der Fakt, dass in Windows make_and_release Standard ist noch viel sinnloser, da dann 2 Anwendungen erstellt werden und eine die andere überschreibt!?
Mann mann mann...
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten: