管理库
LIB 的默认模式是生成或修改 COFF 对象的库。 如果未指定 /EXTRACT
(用于将对象复制到文件)或 /DEF
(用于生成导入库),则 LIB 会在此模式下运行。
若要从对象和/或库生成库,请使用以下语法:
.- .
此命令从一个或多个输入文件 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
指定的任何对象,来创建输出库。
告知操作系统如何运行通过链接到输出库创建的程序。 有关详细信息,请参阅对 LINK /SUBSYSTEM
选项的说明。
命令行中指定的 LIB 选项不区分大小写。
可以使用 LIB 来执行以下库管理任务:
若要将对象添加到库,请指定现有库的文件名和新对象的文件名。
若要合并库,请指定库文件名。 可以添加对象并将库与单个 LIB 命令组合使用。
若要将库成员替换为新对象,请指定包含要替换的成员对象的库以及新对象(或包含该对象的库)的文件名。 当多个输入文件中存在同名的对象时,LIB 会将 LIB 命令中指定的最后一个对象放入输出库中。 替换库成员时,请确保在包含旧对象的库之后指定新对象或库。
若要从库中删除成员,请使用 /REMOVE 选项。 无论命令行顺序如何,LIB 都会在合并所有输入对象后处理 /REMOVE 的任何规范。
注意
不能既删除成员又将其提取到同一步骤中的某个文件。 必须先使用 /EXTRACT
提取成员对象,然后使用 /REMOVE
再次运行 LIB。 此行为不同于在其他 Microsoft 产品中提供的 16 位 LIB(适用于 OMF 库)的行为。