Seite 1 von 1

[gelöst] Wie können Projektabhängigkeiten angeben werden?

Verfasst: 7. September 2009 08:22
von dnb
Hallo,

ich habe ein Projekt bestehend aus einer Executable mit zwei statischen Libraries, verwendet wird Qt 4.4.3 unter Linux. Die drei Unterprojekte sind in einem Hauptprojekt zusammengefasst ( subdirs, ordered ). Funktioniert auch alles wunderbar. Jetzt möchte ich aber gerne, dass wenn eine von den statischen Libraries neu erstellt wurde, anschließen die Executable neu gelinkt wird. Gibt es irgendeine Möglichkeit die Abhängigkeiten in einer der Projektdateien anzugeben?

MfG =>dnb<=

Verfasst: 7. September 2009 08:29
von Christian81
Mit was Du eigentlich arbeitest wäre nicht schlecht - qmake, cmake, pure Eclipse, ... ?

Verfasst: 7. September 2009 09:20
von dnb
Hi,

ich arbeite mit qmake. Ich dachte solche Schlagwörter wie Qt, subdirs und ordered würden ausreichen ... ;-)

MfG =>dnb<=

Verfasst: 7. September 2009 10:37
von Christian81
Da ich qmake schon ewig nicht mehr für was sinnvolles benutze - nein :)
Wenn ein Executable eine Library benötigt und diese im gleichen Projekt erstellt wird erwarte ich eigentlich vom Buildsystem dass das Executable neu erstellt wird wenn sich die Library ändert... hmm
Wie gibst Du an das die lib gegen das executable linkt?

Verfasst: 7. September 2009 11:22
von dnb
Ich gebe es ganz normal mit "LIBS += /.../libxyz.a" ( vielleicht nicht ganz normal der absoluten Pfad der statischen Library) in der Projektdatei der Executable an.

Man kann bei QMAKE_EXTRA_TARGETS und QMAKE_EXTRA_COMPILERS depends angeben, aber ich verstehe nicht so ganz wofür und ob ich es für meinen Zweck angeben kann ...

Verfasst: 7. September 2009 11:42
von dnb
Habe die Lösung gefunden. Es gibt die Variable PRE_TARGETDEPS.
In der Projektdatei der Executable habe ich PRE_TARGETDEPS += /.../libxyz.a /.../libzyx.a gesetzt, und siehe da, ... , es geht. Die Executable wird neu erstellt, wenn ich an einer Library etwas verändert habe.
Das hat aber Zeit gekostet ... ;-)

MfG =>dnb<=