管理库

LIB 的默认模式是生成或修改 COFF 对象的库。 如果未指定 /EXTRACT(用于将对象复制到文件)或 /DEF(用于生成导入库),则 LIB 会在此模式下运行。

若要从对象和/或库生成库,请使用以下语法:

LIB [options...] files...

此命令从一个或多个输入文件 files 创建库。 files 可以是 COFF 对象文件、32 位 OMF 对象文件或现有的 COFF 库。 LIB 创建一个库,其中包含指定文件中的所有对象。 如果输入文件是 32 位 OMF 对象文件,则 LIB 会在生成库之前将其转换为 COFF。 LIB 不接受 16 位版本的 LIB 创建的库中的 32 位 OMF 对象。 必须先使用 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
忽略输出库中的指定 object。 LIB 通过组合所有对象(不管是位于对象文件中还是库中),然后删除通过 /REMOVE 指定的任何对象,来创建输出库。

/SUBSYSTEM:{CONSOLE | EFI_APPLICATION | EFI_BOOT_SERVICE_DRIVER | EFI_ROM | EFI_RUNTIME_DRIVER | NATIVE | POSIX | WINDOWS | WINDOWSCE}[,#[.##]]
告知操作系统如何运行通过链接到输出库创建的程序。 有关详细信息,请参阅对 LINK /SUBSYSTEM 选项的说明。

命令行中指定的 LIB 选项不区分大小写。

可以使用 LIB 来执行以下库管理任务:

  • 若要将对象添加到库,请指定现有库的文件名和新对象的文件名。

  • 若要合并库,请指定库文件名。 可以添加对象并将库与单个 LIB 命令组合使用。

  • 若要将库成员替换为新对象,请指定包含要替换的成员对象的库以及新对象(或包含该对象的库)的文件名。 当多个输入文件中存在同名的对象时,LIB 会将 LIB 命令中指定的最后一个对象放入输出库中。 替换库成员时,请确保在包含旧对象的库之后指定新对象或库。

  • 若要从库中删除成员,请使用 /REMOVE 选项。 无论命令行顺序如何,LIB 都会在合并所有输入对象后处理 /REMOVE 的任何规范。

注意

不能既删除成员又将其提取到同一步骤中的某个文件。 必须先使用 /EXTRACT 提取成员对象,然后使用 /REMOVE 再次运行 LIB。 此行为不同于在其他 Microsoft 产品中提供的 16 位 LIB(适用于 OMF 库)的行为。

另请参阅

LIB 引用