Abhängigkeiten in eigener statischer Bibliothek
-
Hallo,
ich hab mir eine lib gebastelt, die jedoch selbst wieder von lib's abhängig ist.
beim compilieren geht alles gut. die abhängigkeiten werden vom linker aufgelöst. jedoch wenn ich die lib woanders verwende, schlägt das linken fehl, da dann plötzlich die abhängigkeiten nicht aufgelöst werden können (der linker findet die verwendeten lib's net). egal was ich dem linker mitgebe, es klappt net.daher folgende schlechte lösung:
Derzeit weise ich meinen compiler (sollte doch egal sein welcher?!?) an, die abhängigkeiten in der lib nocheinmal EXTRA als solche in der lib zu kennzeichnen (einstellungen des compilers).
aber nun folgende zwei probleme:
da ich zum compilieren sowieso die pfade der abhängigkeiten im projekt einstelle, bekomme ich nun warnungen, dass ich alles zweimal einbinde (ist ja auch klar soweit). nur wenn ich die extra kennzeichnung weglasse, kommt der eingangs beschriebe fehler.wie macht man das richtig?
danke für jeden tipp!
-
verstehe ich dich riichtig
du estellst eine library "mylib" in die du funftionen aus einer anderen library "theirlib" dazulinkst.
wenn du jetzt "mylib" und "theirlib" in ein neues projekt einbindest dann hast du einige funktionen doppelt (was natürlich nicht sein darf)?
Kurt
-
Ich hatte mal ein ähnliches Problem. Habs dann so gemacht, dass ich in meiner myLib die externen .lib-Dateien nicht eingelinkt hab. In jedem Projekt, dass myLib benutzt, müssen diese .lib-Dateien dann dem Linker bekannt gemacht werden.
Grüsse,
don_basto
-
aber wie hast du dann überhaupt die lib erstellt? immer zusammen mit dem rest?
irgendwie müssen das doch andere sauber gelöst haben, oder?@ZuK: ich überschreibe keine funktionen, ich linke sie nur dazu. leider erkennt ein anderes projekt, das meine lib benutzt meine links nicht mehr. Daher LINKE ich sie absichtlich doppelt.. was natürlich zu "warnings" führt, die mir sehr missfallen.
-
Ich arbeite mit dem VC++-Compiler. Soweit ich mich erinnere, interessiert es sich nicht dafür, ob die externen LIBs angegeben sind, wenn er das Projekt zu einer .lib machen soll. Beschwerden kommen erst, wenn er eine EXE daraus machen soll.
-
don_basto schrieb:
Soweit ich mich erinnere, interessiert es sich nicht dafür, ob die externen LIBs angegeben sind, wenn er das Projekt zu einer .lib machen soll. Beschwerden kommen erst, wenn er eine EXE daraus machen soll.
richtig. bein erstellen von "mylib" linkst du nichts aus "theirlib" dazu(dh. theirlib wird nicht als abhängkeit angegeben ).
wenn du "mylib" in einem projekt verwenden willst musst du als abhängigkeit "mylib" und "theirlib" angeben.
K.
-
okay! danke!
habs jetzt auch so mal so gemacht.
mal sehn ob ich da nochmal auf schwierigkeiten stosse.danke nochmal
gm.