Seite 1 von 1
[gelöst] Libraries + includepath
Verfasst: 2. März 2009 15:47
von chrootdev
Hallo,
ich verstehe noch nicht ganz wie das mit den includes funktioniert, und zwar folgendes szenario:
Ich habe eine statische lib mit qt erstellt, alles im pro file eingetragen:
Code: Alles auswählen
LIBS += -LC:/devlibs -lWriteOut
INCLUDEPATH = -IC:/devlibs/
Und jetzt möchte ich die header datei per include in mein laufendes projekt einbinden.
Das ganze mache ich so:
Was ich jetzt nicht verstehe, warum muss ich immer beim include den ganzen pfad angeben? Bzw. wie kann ich das ändern das ich nicht immer den ganzen pfad angeben muss?
Bez. c++ grundlagen, ich habe die stelle im openbook schon gelesen, jedoch wird das dort nur sehr oberflächlich behandelt.
Danke!
Mfg
Verfasst: 2. März 2009 17:41
von Christian81
Beim Include musst Du es nicht angeben, aber INCLUDEPATH ist falsch -->
http://doc.trolltech.com/4.4/qmake-vari ... ncludepath
Verfasst: 3. März 2009 07:52
von chrootdev
Danke, jetzt hab ich das auch verstanden!
Eins wäre da noch, gibts für das *.pro file auch umgebungsvariablen? Ich habe zwar variablen in der doku gefunden, die alle möglichen qt verzeichnisse ausgeben, aber gibts auch welche die z.b. unter linux das homeverzeichnis ausgeben oder unter windows das benutzerverzeichnis oder systemverzeichnis?
Danke!
Als beispiel:
Verfasst: 3. März 2009 07:58
von Christian81
Man kann auf Umgebungsvariablen verweisen, aber die sind unter Windows und Linux nicht gleich --
Verfasst: 3. März 2009 08:07
von chrootdev
Danke für die antwort, aber wo finde ich in der doku wie ich auf umgebungsvariablen verweise?
Ich habe in der doku eben nur qt spezifischen variablen gefunden!
Verfasst: 3. März 2009 08:14
von Christian81
Verfasst: 3. März 2009 08:35
von chrootdev
Ich glaube wir reden aneinander vorbei!
Ich suche eine möglichkeit auf umgebungsvariablen des systems zuzugreifen und nicht von qt!
Das einzige was ich gefunden habe ist das hier:
http://doc.trolltech.com/4.5/qmake-vari ... e.html#pwd
Ich suche eine möglichkeit auf umgebungsvariablen zuzugreifen wie z.b.:
$$(HOME_DIR) oder $$(ROOT_DIR) oder sowas, gibts sowas?
Um zu verdeutlichen was ich meine:
Code: Alles auswählen
win* {
#soll -LC:/devlibs ersetzen
LIBS += -L$$(SYSLIB)/devlibs -lWriteOut
INCLUDEPATH = $$(SYSLIB)/devlibs/
}
linux* {
#soll -L/home/user/devlibs ersetzen
LIBS += -L$$(HOME_DIR)/devlibs -lWriteOut
INCLUDEPATH = $$(HOME_DIR)/devlibs/
}
Verfasst: 3. März 2009 09:38
von Christian81
Ich würde eher sagen Du liest nicht...
Code: Alles auswählen
To obtain the contents of an environment value when qmake is run, use the $$(...) operator:
DESTDIR = $$(PWD)
message(The project will be installed in $$DESTDIR)
Verfasst: 3. März 2009 09:44
von chrootdev
Jetzt hab ichs gecheckt, sorry, bin auf dem schlauch gestanden!
Danke!
Für alle die auch so auf dem schlauch stehen wie ich:
Vorhandene systemvariablen in $$() setzen, dann werden diese verwendet:
Bsp aus der doku, um das tmp verzeichnis von windows auszugeben:
Code: Alles auswählen
DESTDIR = $$(TMP)
message(The project will be installed in $$DESTDIR)
oder
Code: Alles auswählen
DESTDIR = $$(windir)
message(The project will be installed in $$DESTDIR)