Eigene statische Lib und Linkerfehler in der Hauptanwendung
-
Hi zusammen,
ich habe eine eigene statische lib, die einige Formulare mit z.B. TeeCharts und QuickReports enthält. Wenn ich diese lib nun gegen meine Anwendung linken will beschwert sich der Linker, dass er unbekannte Referenzen gefunden hat. Als "Lösung" muss ich in der Hauptanwendung ein Dummy TeeChart, Dummy Series, Dummy QuickReport und Dummy TQRChart hinzufügen, damit die entsprechenden Linkeranweisungen generiert werden. Im Moment beschwert sich der Linker, dass er StatChar.obj nicht finden kann und ich habe keine Ahnung, in welcher .lib sich das verstecken könnte (gehört zu den TeeCharts).
Bei Packages gibt es einen Abschnitt "requires", in denen die Bibliotheken stehen, die zur Erstellung der Package benötigt werden, gibt es etwas Ähnliches vielleicht auch für statische Bibliotheken? Im Moment fällt mir nichts besseres ein, als per try-and-error einfach mal einige TeeChart Bibliotheken per #pragma link dazuzulinken, bis der Linker endlich durchläuft, aber da kann´s ja wohl nicht sein.
-
Bei statischen Bibliotheken wird es, soweit ich weiß, tatsächlich darauf hinauslaufen, daß du externe Abhängigkeiten mit #pragma link verwalten mußt. Daß es dort keine requires-Liste gibt, hat vermutlich den historischen Grund, daß Delphi das Konzept einer statischen Bibliothek überhaupt nicht kennt, daher für den Projekttyp keine Delphi-Vorlage existierte, für die lediglich ein C++-Pendant hätte erstellt werden müssen. Es ist, wenn ich mich recht erinnere, ein durchaus öfters geäußertes Feature-Request, eine solche requires-Liste auch für statische Bibliotheken oder gar für Anwendungen einzuführen.
Im übrigen sollte es vollkommen ausreichen, "tee.lib", "teeui.lib" und ggf. "teedb.lib" einzubinden.
-
Danke Audacia,
zusätzlich zu den von dir genannten Bibliotheken musste ich noch TeePro angeben, damit hat sich zumindest die Anzahl der Linker Anweisungen von 8 auf 4 verkürzt.