Seite 1 von 1

.pro platformabhängige Einträge

Verfasst: 20. Juli 2011 12:01
von skeemo
Hi,

ich schreibe gerade eine Crossplattform Anwedung.
Dabei binde ich eine externe Bibliothek ein mittels

Code: Alles auswählen

INCLUDEPATH+= /pfad/usw
LIBS+= -L usw/undsofort
Momentan entwickel ich auf Windows, die Pfade von include und libs beziehen sich logischerweise relativ auf das build Verzeichnis.

Bevor die externe Bibliothek eingebunden wurde, hatte ich die Anwendung schonmal auf Linux kompiliert, was auch problemlos ging.

Unter Linux wird meine Bibliothek aber (vermutlich) dann woanders liegen, darum wäre es gut, wenn ich meinen INCLUDEPATH plattformabhängig machen könnte.

Kann man das irgendwie machen ?

Gruß

Chris

Re: .pro platformabhängige Einträge

Verfasst: 20. Juli 2011 17:18
von brax
ja das geht:

win32 {
# mach windows zeug
} else {
# mach linux zeug
}

Mehr zu qmake:
http://doc.trolltech.com/4.6/qmake-manual.html bzw. http://doc.trolltech.com/4.7/qmake-manual.html

Re: .pro platformabhängige Einträge

Verfasst: 20. Juli 2011 18:56
von skeemo
Cool danke :)

Re: .pro platformabhängige Einträge

Verfasst: 27. Juli 2011 09:41
von skeemo
Bin erst jetzt dazu gekommen...

Das geht so nicht.
Gibt einen "Parser Error"

Re: .pro platformabhängige Einträge

Verfasst: 27. Juli 2011 10:08
von Christian81
skeemo hat geschrieben: Das geht so nicht.
Gibt einen "Parser Error"
Wie wäre es mit Eigeninitiative und Doku lesen? Brax hat ja nicht umsonst die Links gepostet...

Re: .pro platformabhängige Einträge

Verfasst: 27. Juli 2011 10:59
von skeemo
Ähm, das war nur ein Hinweis.
Ich habe es schon selber herausbekommen :roll:

Re: .pro platformabhängige Einträge

Verfasst: 28. Juli 2011 18:33
von brax
Da ich etwas irritiert bin, warum das bei Dir nicht funktioniert hat (fast alle unsere .pro bzw. .pri files enthalten so ziemlich genau die von mir geposteten Zeilen und funktionieren sowohl mit 4.6.x als auch mit 4.7.x absolut problemlos), wärst Du noch so freundlich zu schreiben, wie Du es denn hinbekommen hast, bzw. was das Problem war?

Re: .pro platformabhängige Einträge

Verfasst: 28. Juli 2011 19:54
von skeemo
Gerne:

ich kennzeichne die Zeilen (zumindest die INCLUDEPATH und LIBS-Zeilen) folgendermassen :

Code: Alles auswählen

win32:INCLUDEPATH+= /pfad/usw
win32:LIBS+= -L usw/undsofort

unix:INCLUDEPATH+= /pfad/usw
unix:LIBS+= -L usw/undsofort

Komisch ist, dass in der qMake Doku beide Varianten auftauchen...

Re: .pro platformabhängige Einträge

Verfasst: 1. August 2011 11:39
von brax
Komisch ist eher, adss bei Dir die andere Variante nicht funktioniert.

Die (vollkommen sinnfreie) pro Datei

Code: Alles auswählen

win32 {
	message(im win32 zweig)
} else {
	message(unreachable in current arch)
}

win32: message(win32 2)
unix: message(unreachable in current arch)
Ergibt bei mir (auf windows) folgende Ausgabe:
D:\foo>qmake
Project MESSAGE: im win32 zweig
Project MESSAGE: win32 2
Aber die Hauptsache ist wohl, dass es nun auf die eine oder andere Weise auch bei Dir funktioniert.