Поделиться через


Управление библиотекой

Режим по умолчанию для LIB — создание или изменение библиотеки объектов COFF. LIB выполняется в этом режиме, если не указать /EXTRACT (скопировать объект в файл) или /DEF (создать библиотеку импорта).

Чтобы создать библиотеку из объектов и (или) библиотек, используйте следующий синтаксис:

LIB [options...] files...

Эта команда создает библиотеку из одного или нескольких входных файлов. files Это files могут быть файлы объектов COFF, 32-разрядные файлы объектов OMF или существующие библиотеки COFF. LIB создает одну библиотеку, содержащую все объекты в указанных файлах. Если входной файл является 32-разрядным файлом объекта OMF, lib преобразует его в COFF перед созданием библиотеки. LIB не может принять 32-разрядный объект OMF, который находится в библиотеке, созданной 16-разрядной версией LIB. Сначала необходимо использовать 16-разрядную библиотеку LIB для извлечения объекта; затем вы можете использовать извлеченный файл объекта в качестве входных данных для 32-разрядной библиотеки LIB.

По умолчанию LIB называет выходной файл с помощью базового имени первого файла объекта или библиотеки и расширения .lib. Выходной файл помещается в текущий каталог. Если файл уже существует с тем же именем, выходной файл заменяет существующий файл. Чтобы сохранить существующую библиотеку, используйте /OUT параметр, чтобы указать имя выходного файла.

Следующие параметры применяются к созданию и изменению библиотеки:

/LIBPATH: dir
Переопределяет путь библиотеки среды и задает для него значение dir. Дополнительные сведения см. в описании параметра LINK /LIBPATH .

/LIST
Отображает сведения о выходной библиотеке для стандартных выходных данных. Выходные данные можно перенаправить в файл. Вы можете использовать /LIST для определения содержимого существующей библиотеки, не изменяя ее.

/NAME: filename
При создании библиотеки импорта указывает имя библиотеки filename DLL, для которой создается библиотека импорта.

/NODEFAULTLIB
Удаляет одну или несколько библиотек по умолчанию из списка библиотек, которые он выполняет поиск при разрешении внешних ссылок. Дополнительные сведения см. в разделе /NODEFAULTLIB.

/OUT: filename
Переопределяет имя выходного файла по умолчанию и заменяет его filenameна . По умолчанию выходные библиотеки создаются в текущем каталоге с базовым именем первой библиотеки или файла объектов в командной строке и расширением .lib.

/REMOVE: object
Omits, указанный object из выходной библиотеки. LIB создает выходную библиотеку, объединяя все объекты (будь то в файлах объектов или библиотеках), а затем удаляя все объекты, заданные с /REMOVE.

/SUBSYSTEM:{CONSOLE | EFI_ROM | | NATIVEPOSIX | WINDOWS | | | WINDOWSCEEFI_APPLICATIONEFI_BOOT_SERVICE_DRIVER | EFI_RUNTIME_DRIVER}[,#[.#]]
Сообщает операционной системе, как запустить программу, созданную путем связывания с выходной библиотекой. Дополнительные сведения см. в описании параметра LINK /SUBSYSTEM .

Параметры LIB, указанные в командной строке, не учитывает регистр.

Вы можете использовать LIB для выполнения следующих задач управления библиотеками:

  • Чтобы добавить объекты в библиотеку, укажите имя файла для существующей библиотеки и имена файлов для новых объектов.

  • Чтобы объединить библиотеки, укажите имена файлов библиотек. Можно добавлять объекты и объединять библиотеки с одной командой LIB.

  • Чтобы заменить элемент библиотеки новым объектом, укажите библиотеку, содержащую объект-член, который нужно заменить, и имя файла для нового объекта (или библиотеки, содержащей ее). Если объект с тем же именем существует в нескольких входных файлах, LIB помещает последний объект, указанный в команде LIB, в выходную библиотеку. При замене члена библиотеки обязательно укажите новый объект или библиотеку после библиотеки, содержащей старый объект.

  • Чтобы удалить члена из библиотеки, используйте параметр /REMOVE. LIB обрабатывает все спецификации /REMOVE после объединения всех входных объектов независимо от порядка командной строки.

Примечание.

Вы не можете удалить элемент и извлечь его в файл на одном шаге. Сначала необходимо извлечь объект-член с помощью /EXTRACT, а затем снова запустить LIB с помощью /REMOVE. Это поведение отличается от 16-разрядной библиотеки LIB (для библиотек OMF), предоставляемых в других продуктах Майкрософт.

См. также

Справочник по LIB