Partilhar via


Gerenciando uma biblioteca

O modo padrão para LIB é criar ou modificar uma biblioteca de objetos COFF. O LIB é executado nesse modo quando você não especifica /EXTRACT (para copiar um objeto para um arquivo) ou /DEF (para criar uma biblioteca de importação).

Para criar uma biblioteca baseada em objetos e/ou bibliotecas, use a seguinte sintaxe:

LIB [options...] files...

Esse comando cria uma biblioteca com base em um ou mais arquivos de entrada, files. O files pode ser arquivos-objeto COFF, arquivos-objeto OMF de 32 bits ou bibliotecas COFF existentes. O LIB cria uma biblioteca que contém todos os objetos nos arquivos especificados. Se um arquivo de entrada for um arquivo-objeto OMF de 32 bits, o LIB o converterá em COFF antes de criar a biblioteca. O LIB não pode aceitar um objeto OMF de 32 bits que esteja em uma biblioteca criada pela versão de 16 bits do LIB. Primeiro você deve usar o LIB de 16 bits para extrair o objeto; em seguida, você pode usar o arquivo-objeto extraído como entrada para o LIB de 32 bits.

Por padrão, o LIB nomeia o arquivo de saída usando o nome base do primeiro objeto ou arquivo de biblioteca e a extensão .lib. O arquivo de saída é colocado no diretório atual. Se já existir um arquivo com o mesmo nome, o arquivo de saída substituirá o arquivo existente. Para preservar uma biblioteca existente, use a opção /OUT para especificar um nome para o arquivo de saída.

As seguintes opções se aplicam à criação e modificação de uma biblioteca:

/LIBPATH: dir
Substitui o caminho da biblioteca de ambiente e o define como dir. Para obter detalhes, confira a descrição da opção /LIBPATH do LINK.

/LIST
Exibe informações sobre a biblioteca de saída na saída padrão. A saída pode ser redirecionada para um arquivo. Você pode usar /LIST para determinar o conteúdo de uma biblioteca existente sem modificá-la.

/NAME: filename
Ao criar uma biblioteca de importação, filename especifica o nome da DLL para a qual a biblioteca de importação está sendo criada.

/NODEFAULTLIB
Remove uma ou mais bibliotecas padrão da lista de bibliotecas pesquisadas ao resolver referências externas. Para obter mais informações, consulte /NODEFAULTLIB.

/OUT: filename
Substitui o nome do arquivo de saída padrão por filename. Por padrão, a biblioteca de saída é criada no diretório atual, com o nome base da primeira biblioteca ou do arquivo de objeto na linha de comando e a extensão .lib.

/REMOVE: object
Omite o object especificado da biblioteca de saída. O LIB cria uma biblioteca de saída combinando todos os objetos (sejam em arquivos-objeto ou em bibliotecas) e excluindo os objetos especificados com /REMOVE.

/SUBSYSTEM:{CONSOLE | EFI_APPLICATION | EFI_BOOT_SERVICE_DRIVER | EFI_ROM | EFI_RUNTIME_DRIVER | NATIVE | POSIX | WINDOWS | WINDOWSCE}[,#[.##]]
Informa ao sistema operacional como executar um programa criado por meio do vinculo com a biblioteca de saída. Para obter mais informações, veja a descrição da opção /SUBSYSTEM do LINK.

As opções do LIB especificadas na linha de comando não diferenciam maiúsculas de minúsculas.

Você pode usar o LIB para executar as seguintes tarefas de gerenciamento de bibliotecas:

  • Para adicionar objetos a uma biblioteca, especifique o nome do arquivo da biblioteca existente e os nomes de arquivo dos novos objetos.

  • Para combinar bibliotecas, especifique os nomes de arquivos de biblioteca. Você pode adicionar objetos e combinar bibliotecas com um único comando do LIB.

  • Para substituir um membro da biblioteca por um novo objeto, especifique a biblioteca que contém o objeto membro a ser substituído e o nome do arquivo para o novo objeto (ou da biblioteca que o contém). Quando um objeto que tem o mesmo nome existe em mais de um arquivo de entrada, o LIB coloca o último objeto especificado no comando do LIB na biblioteca de saída. Ao substituir um membro da biblioteca, especifique o novo objeto ou a biblioteca após a biblioteca que contém o objeto antigo.

  • Para excluir um membro de uma biblioteca, use a opção /REMOVE. O LIB processa as especificações de /REMOVE depois de combinar todos os objetos de entrada, independentemente da ordem ne linha de comando.

Observação

Você não pode excluir um membro e extraí-lo para um arquivo na mesma etapa. Primeiro você deve extrair o objeto membro usando /EXTRACT e, em seguida, executar o LIB novamente usando /REMOVE. Esse comportamento difere do LIB de 16 bits (para bibliotecas OMF) fornecido em outros produtos da Microsoft.

Confira também

Referência de LIB