管理库

LIB 默认模式用于生成或修改 COFF 对象库。 当没有指定 /EXTRACT(将对象复制到文件中)和 /DEF(生成导入库)选项时,LIB 在此模式下运行。

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

LIB [options...] files...

此命令从一个或多个输入 files 创建库。 此 files 可以是 COFF 对象文件、32 位 OMF 对象文件或现有的 COFF 库。 LIB 创建一个包含指定文件中所有对象的库。 如果输入文件是 32 位 OMF 对象文件,则 LIB 在生成库之前将其转换到 COFF。 LIB 无法接受 LIB 16 位版本创建的库中的 32 位 OMF 对象。 必须首先使用 16 位 LIB 提取该对象,然后才能将提取的对象文件作为 32 位 LIB 的输入。

默认情况下,LIB 使用第一个对象或库文件的基文件名和扩展名 .lib 来命名输出文件。 输出文件放置在当前目录下。 如果已存在同名文件,输出文件将替换现有文件。 若要保留现有库,请使用 /OUT 选项为输出文件指定名称。

下列选项适用于生成和修改库:

  • /LIBPATH:dir
    重写环境库路径。 有关详细信息,请参见 LINK /LIBPATH 选项说明。

  • /LIST
    将有关输出库的信息显示到标准输出。 可将输出重定向到文件。 可使用 /LIST 在不修改现有库的情况下确定它的内容。

  • /NAME:filename
    生成导入库时,指定为其生成导入库的 DLL 名。

  • /NODEFAULTLIB
    在解析外部引用时,从其搜索的库列表中移除一个或多个默认库。 有关更多信息,请参见 /NODEFAULTLIB

  • /OUT: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 引用