Seite 1 von 1

qmake LIB Template

Verfasst: 10. November 2004 14:16
von gergap
Hallo zusammen,

ich habe folgendes Problem.
Ich habe mehrere statische libraries deren makefile mittels qmake erstellt werden.

Dann habe ich eine Library die selber wieder die anderen dazulinken soll.
Also eine Library die alle meine Module zusammenfasst.
So braucht eine Applikation nur noch diese eine Lib dazulinken.

Das Problem ist jetzt, dass bei TEMPLATE=lib anscheinend LIBS+=mylib
anscheinend nichts bewirkt, da ich in der Applikation wieder unresolved external Fehler kriege wenn ich dort nur meine eine Lib linke, die eingenltich alles beinhalten sollte.

Nochmal zu Übersicht:

Library a:
TEMPLATE = lib
TARGET = libA
SOURCES += ...
HEADERS += ...

Library b:
TEMPLATE = lib
TARGET = libB
SOURCES += ...
HEADERS += ...

Library c:
TEMPLATE = lib
TARGET = libC
SOURCES += ...
HEADERS += ...
LIBS += libA libB

Application:
TEMPLATE = app
TARGET = test
SOURCES += ...
HEADERS += ...
LIBS += libC


Weiß jemand wie man das Problem lösen kann?

Verfasst: 7. Januar 2005 19:19
von FlorianBecker
Du linkst damit also nicht statisch, wenn du die Probleme von Unresold Symbols hast. Dazu weiss ich aber leider noch zuwenig von deinen genauen Libs, OS usw.

Wenn du LIBS += lib.a / lib2.a unter Linux machst sind Sie statisch gelinkt, wenn du LIBS += lib.lib / lib2.lib unter Windows linkst, kommts drauf an, ob das nun statisch oder nicht statische Libs sind. Und ich gehe einfach mal davon aus, sind es nicht.

Vielleicht hilft dir ohne weitere Umwege CONFIG += staticlib, allerdings solltest du dann sehen, das dll nicht darin enthalten ist.

Allerdings hätte ich da noch eine Frage? Wieso verlinken Windows Leute alles statisch? Sinn?

Verfasst: 18. Juli 2005 14:21
von Nassian
Sinn! Nur eine einzige Datei zum Endverbraucher (Okay, geht nur bis zu einer gewissen Größe) und schnelleres Laden.
Machen nicht nur Windowsler.

Verfasst: 18. Juli 2005 14:40
von BartSimpson
unter Windows versucht man dadruch geren der sogenatten DLL hölle zu entgehen.