Verwalten einer Bibliothek

Aktualisiert: November 2007

Im Standardmodus von LIB wird eine Bibliothek mit COFF-Objekten erstellt oder geändert. LIB wird in diesem Modus ausgeführt, wenn Sie weder /EXTRACT (zum Kopieren eines Objekts in eine Datei) noch /DEF (zum Erstellen einer Importbibliothek) angeben.

Um eine Bibliothek aus Objekten und/oder Bibliotheken zu erstellen, verwenden Sie die folgenden Syntax:

LIB [options...] files...

Mit diesem Befehl wird eine Bibliothek aus einer oder mehreren Eingabedateien erstellt. Diese Dateien (files) können COFF-Objektdateien, 32-Bit-OMF-Objektdateien oder bestehende COFF-Bibliotheken sein. LIB erstellt eine Bibliothek, die alle Objekte aus den angegebenen Dateien enthält. Wenn eine Eingabedatei eine 32-Bit-OMF-Objektdatei ist, konvertiert LIB sie in das COFF-Format, bevor die Bibliothek erstellt wird. LIB kann keine 32-Bit-OMF-Objekte verarbeiten, die aus einer Bibliothek stammen, die mit der 16-Bit-Version von LIB erstellt wurden. Extrahieren Sie zunächst das Objekt mit der 16-Bit-Version von LIB. Anschließend können Sie die extrahierte Objektdatei als Eingabe für die 32-Bit-Version von LIB verwenden.

LIB versieht die Ausgabedatei standardmäßig mit dem Basisnamen der ersten Objekt- oder Bibliotheksdatei und der Dateinamenerweiterung LIB. Die Ausgabedatei wird im aktuellen Verzeichnis gespeichert. Ist bereits eine Datei mit demselben Namen vorhanden, wird sie durch die Ausgabedatei ersetzt. Um eine bestehende Bibliothek zu erhalten, verwenden Sie die /OUT-Option, um einen Namen für die Ausgabedatei anzugeben.

Die folgenden Optionen beziehen sich auf das Erstellen und Ändern einer Bibliothek:

  • /LIBPATH:dir
    Überschreibt den Bibliothekspfad für die Umgebung. Einzelheiten hierzu finden Sie in der Beschreibung der LINK-Option /LIBPATH.

  • /LIST
    Zeigt Informationen über die Ausgabebibliothek in der Standardausgabe an. Die Ausgabe kann in eine Datei umgeleitet werden. Sie können /LIST verwenden, um den Inhalt einer bestehenden Bibliothek zu ermitteln, ohne sie zu ändern.

  • /NAME:filename
    Gibt beim Erstellen einer Importbibliothek den Namen der DLL an, für die die Importbibliothek erstellt wird.

  • /NODEFAULTLIB
    Entfernt eine oder mehrere Standardbibliotheken aus der Liste der Bibliotheken, die beim Auflösen von externen Verweisen durchsucht werden. Weitere Informationen finden Sie unter /NODEFAULTLIB.

  • /OUT:filename
    Überschreibt den Standarddateinamen für die Ausgabe. Die Ausgabebibliothek wird standardmäßig im aktuellen Verzeichnis erstellt und mit dem Basisnamen der ersten in der Befehlszeile angegebenen Bibliothek oder Objektdatei sowie der Erweiterung LIB versehen.

  • /REMOVE:object
    Entfernt das angegebene object aus der Ausgabebibliothek. LIB erstellt eine Ausgabebibliothek, indem zunächst alle Objekte (aus Objektdateien oder Bibliotheken) kombiniert und dann alle Objekte gelöscht werden, die mit /REMOVE angegeben wurden.

  • /SUBSYSTEM:{CONSOLE | EFI_APPLICATION | EFI_BOOT_SERVICE_DRIVER | EFI_ROM | EFI_RUNTIME_DRIVER | NATIVE | POSIX | WINDOWS | WINDOWSCE}[,#[.##]]
    Teilt dem Betriebssystem mit, wie ein Programm ausgeführt werden soll, das durch Verknüpfung mit der Ausgabebibliothek erstellt wurde. Weitere Informationen hierzu finden Sie in der Beschreibung der LINK-Option /SUBSYSTEM.

Bei in der Befehlszeile angegebenen LIB-Optionen wird keine Groß-/Kleinschreibung beachtet.

Folgende Tasks der Bibliotheksverwaltung können mit LIB ausgeführt werden:

  • Um einer Bibliothek Objekte hinzuzufügen, geben Sie den Dateinamen der bestehenden Bibliothek sowie die Dateinamen der neuen Objekte an.

  • Um Bibliotheken miteinander zu kombinieren, geben Sie die Dateinamen der Bibliotheken an. Sie können mit einem einzigen LIB-Befehl sowohl Objekte hinzufügen als auch Bibliotheken kombinieren.

  • Um ein Bibliothekmember durch ein neues Objekt zu ersetzen, geben Sie die Bibliothek an, die den zu ersetzenden Member enthält, sowie den Dateinamen des neuen Objekts (bzw. der Bibliothek, die das Objekt enthält). Wenn ein Objekt unter demselben Namen in mehr als einer Eingabedatei vorkommt, legt LIB das zuletzt im LIB-Befehl genannte Objekt in der Ausgabebibliothek ab. Wenn Sie einen Bibliothekmember ersetzen, achten Sie darauf, dass Sie nach der Bibliothek, die das alte Objekt enthält, das neue Objekt oder die neue Bibliothek angeben.

  • Um einen Member aus einer Bibliothek zu entfernen, verwenden Sie die /REMOVE-Option. LIB verarbeitet unabhängig von der Reihenfolge in der Befehlszeile die /REMOVE-Angaben erst, nachdem alle Eingabeobjekte kombiniert wurden.

Hinweis:

Sie können einen Member nicht gleichzeitig löschen und in eine Datei extrahieren. Sie müssen das Memberobjekt zunächst mit der /EXTRACT-Option extrahieren und anschließend LIB erneut mit /REMOVE ausführen. Dieses Verhalten unterscheidet sich von dem der 16-Bit-Version von LIB (für OMF-Bibliotheken), die im Lieferumfang anderer Microsoft-Produkte enthalten ist.

Siehe auch

Referenz

LIB-Referenz