ライブラリの管理

LIB の既定のモードでは、COFF オブジェクトのライブラリがビルドまたは変更されます。 /EXTRACT (オブジェクトをファイルにコピーする場合) または /DEF (インポート ライブラリをビルドする場合) を指定しないと、LIB はこのモードで実行されます。

オブジェクトやライブラリからライブラリをビルドするには、次の構文を使用します。

LIB [options...] files...

このコマンドでは、1 つ以上の入力ファイル files からライブラリを作成します。 COFF files オブジェクト ファイル、32 ビット OMF オブジェクト ファイル、または既存の COFF ライブラリを指定できます。 LIB により、指定したファイル内のすべてのオブジェクトを含む 1 つのライブラリが作成されます。 入力ファイルが 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
外部参照を解決するときに検索するライブラリのリストから、1 つ以上の既定のライブラリを削除します。 詳細については、/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 を使って、次のライブラリ管理タスクを実行できます。

  • ライブラリにオブジェクトを追加するには、既存のライブラリのファイル名と、新しいオブジェクトのファイル名を指定します。

  • ライブラリを結合するには、ライブラリ ファイル名を指定します。 オブジェクトの追加とライブラリの結合を、1 つの LIB コマンドで行うことができます。

  • ライブラリ メンバーを新しいオブジェクトに置き換えるには、置換対象のメンバー オブジェクトが含まれるライブラリと、新しいオブジェクト (またはそれを含むライブラリ) のファイル名を指定します。 同じ名前のオブジェクトが複数の入力ファイルに存在する場合、LIB は LIB コマンドで指定されている最後のオブジェクトを出力ライブラリに挿入します。 ライブラリ メンバーを置き換えるときは、古いオブジェクトが含まれるライブラリの後で、新しいオブジェクトまたはライブラリを指定してください。

  • ライブラリからメンバーを削除するには、/REMOVE オプションを使います。 LIB は、コマンドラインでの順序に関係なく、すべての入力オブジェクトを結合した後で、/REMOVE の指定を処理します。

Note

メンバーの削除と、ファイルへのその抽出を、同じステップで行うことはできません。 最初に、/EXTRACT を使ってメンバー オブジェクトを抽出した後、/REMOVE を使って LIB を再度実行する必要があります。 この動作は、他の Microsoft 製品で提供されている 16 ビット LIB (OMF ライブラリの場合) とは異なります。

関連項目

LIB リファレンス