2010-12-14 5 views
1

Eine grundlegende Frage, die ich während meiner other question habe, ist: Ohne zuerst die LIB-Dateien mit dem LIB.EXE Befehl extrahieren, wie ich Kombinieren Sie alle .obj-Archivmitglieder zu einer größeren monolithischen .lib-Datei? Wenn ich die Dienstprogramme LIB.EXE oder LINK.EXE verwende, werden einige OBJ-Dateien weggelassen, vermutlich weil in den ausgelassenen OBJ-Dateien keine Symbole definiert sind, die von einer anderen OBJ-Datei benötigt werden.Verknüpfen mehrerer statischer LIB-Dateien in einer monolithischen LIB-Datei mit VS2008 SP1 ohne LIB-Dateien zuerst zu extrahieren

Ohne das Herunterladen und Installieren zusätzlicher Nicht-Microsoft-Software und ohne zuerst alle .obj-Dateien zuerst extrahieren zu müssen, wie kombiniere ich sie zusammen?

Antwort

1

Sie können nicht.

Stellen Sie sich eine statische Link-LIB-Datei nur als ZIP-Datei oder TAR-Datei mit einigen Objektdateien vor.

Also müssen Sie herausfinden, was der Inhalt lib/list verwendet, dann extrahieren Sie jedes Objekt (eins nach dem anderen, das ist der langweilige Teil) mit lib/extract, und sobald Sie alles bereit haben, Sie Erstellen Sie Ihre neue .lib.

Wenn Sie mit einer Skriptsprache (Perl, Python, ...) vertraut sind, wäre es nicht zu schwer, diesen Job zu automatisieren. Sie könnten es mit Batch-Befehlen machen (suchen Sie nach "for/F"; Sie werden es brauchen), wenn Sie bevorzugen.

+0

Dank tangobravomike. Ich bin zu denselben Schlussfolgerungen gekommen, die Sie haben. In einem Fall habe ich die Extraktion und Neuverknüpfung von statischen Bibliotheken in der oben beschriebenen Weise geschrieben, aber das war eine Lücke, um zu überprüfen, ob es funktioniert, und später werde ich die "monolithische" statische Zwischenbibliothek entfernen und stattdessen versuchen eine direkte Verbindung zu den statischen Unterbibliotheken in der endgültigen DSO-Verbindung herzustellen, da es mir scheint, ein wenig weniger Build-Overhead zu sein als das "Extrahieren und erneutes Verknüpfen" der monolithischen Bibliothek. :) – bgoodr

Verwandte Themen