Linker entfernt Versionsinformation aus Lib! Lösung?
-
Hallo,
bin neu hier und habe gleich ne Frage. Ich erstelle Libs die in der Entwicklung in mehere Programme einfliessen. Um eine Kontrolle zu haben welche Version der Lib in mein Projekt eingebunden ist, möchte ich in der Lib eine Versioninformation ablegen, die später im EXE File als Text erscheint und z.B. mit einem Texteditor rausgefunden werden kann. Einfach einen String in der Lib anzulegen geht nicht, da der Linker diesen entfernt, da er nicht vom EXE genutzt wird. Nun habe ich gefunden:#pragma comment (...)
Da gibt es laut Doku möglichkeiten einen Text einzustezen, der im EXE erhalten bleibt. In der Lib finde ich ihn auch wieder, im EXE aber nicht. Scheint ein Bug im Borland zu sein. Ist auch in der Version 5 und 6 so ....:-(
Gibt es eine andere Möglichkeit? Kann cih im Linker was konfigureiren, das die Information nicht gestript wird? Ich weiss nicht mehr weiter.....
California
-
Hallo
du kannst den Wert ja z.B. als konstanten statischen String in der Lib hinterlegen, denn du dann auslesen kannst. Eventuell auch nur mit einer Getter-Funktion als Interface.
bis bald
akari
-
Hallo,
Danke für die Antwort. Aber leider geht weder const noch static. Alles chon probioert. Spätestens beim Linken ist der Text wieder raus....
Jörn
-
Nur so als Idee: Wenn du's einfach nicht hin kriegst, dann editier dir das doch einfach nach dem kompilieren wieder rein (z.B. mit dem ResourceHacker).
Ist zwar keine schöne Lösung, aber besser als nichts...
-
Warum vewendest Du nicht die Versionsinformation, die Du unter den Projektoptionen eingeben kannst? Kann man zwar nur mit der WinAPI auslesen, dafür hast Du Versionsinfo aber an der richtigen Stelle.
-
Reyx schrieb:
Nur so als Idee: Wenn du's einfach nicht hin kriegst, dann editier dir das doch einfach nach dem kompilieren wieder rein (z.B. mit dem ResourceHacker).
Ist zwar keine schöne Lösung, aber besser als nichts...
-> Nicht so gut, da mehere Kollegend diese Lib erzeugen. Da sage ich jetzt schon vorraus, das das nix wird

Joe_M. schrieb:
Warum vewendest Du nicht die Versionsinformation, die Du unter den Projektoptionen eingeben kannst? Kann man zwar nur mit der WinAPI auslesen, dafür hast Du Versionsinfo aber an der richtigen Stelle.
Leider kann man für LIBs keine Versionsinfos einstellen. Zumindest nicht in den Projektoptionen und mehr habe ich nicht gefunden.
Hat noch keiner Erfahrungen mit dem "#pragma comment" Kommando gemacht. Klingt genau so wie das was ich brauche. Geht nur leider nicht. Wie kann ich Borland dazu bringen das er das pragma comment beachtet?
Jörn
-
klingt fuer mich danach, dass der compiler den unnützen string (da nicht verwendet) einfach wegoptimiert. ne versionsnummer mit nem texteditor auslesen ist auch etwas unschoen.
warum machst du keine funktion die dir die version zurueckgibt?