LIB の実行
さまざまなコマンド ライン オプションを使って、LIB を制御できます。
LIB のコマンド ライン
LIB を実行するには、コマンド lib
に続けて、LIB を使用するタスクのオプションとファイル名を入力します。 LIB は、コマンド ファイルでコマンド ライン入力を受け取ることもできます。これについては、次のセクションで説明します。 LIB では環境変数は使われません。
LIB のコマンド ファイル
次の構文を使って、コマンド ファイルで LIB にコマンド ライン引数を渡すことができます。
LIB @command-file
ファイル command-file はテキスト ファイルです。 アットマーク (@) とファイル名の間にスペースやタブを使用することはできません。 command-file の名前に、既定の拡張子はありません。 任意の拡張子を含む完全なファイル名を指定します。 ワイルドカードは使用できません。 ファイル名では、絶対パスまたは相対パスを指定できます。
コマンド ファイルでは、コマンド ラインと同様に、スペースまたはタブで引数を区切ることができます。 改行文字で引数を区切ることもできます。 コメントを示すには、セミコロン (;) を使います。 LIB では、セミコロンから行末までのすべてのテキストが無視されます。
コマンド ラインの全体または一部をコマンド ファイルで指定することができ、1 つの LIB コマンドで複数のコマンド ファイルを使用できます。 LIB は、コマンド ファイルの入力を、コマンド ラインのその場所で指定されているかのように受け入れます。 コマンド ファイルを入れ子にすることはできません。 /NOLOGO オプションを使用しない限り、LIB はコマンド ファイルの内容をエコーします。
LIB のオプションの使用
オプションは、オプション指定子のダッシュ (-) またはスラッシュ (/) と、それに続くオプション名で構成されます。 オプション名の省略形は使用できません。 一部のオプションには引数があり、コロン (:) の後で指定します。 1 つのオプションの指定には、スペースやタブは挿入できません。 複数のオプションを指定する場合は、各オプションを 1 つ以上のスペースまたはタブで区切ります。 オプション名とそのキーワードまたはファイル名引数は大文字と小文字が区別されませんが、引数として使われる識別子は大文字と小文字が区別されます。 LIB では、コマンド ラインとコマンド ファイルで指定されている順序でオプションが処理されます。 オプションが異なる引数で繰り返されている場合は、最後に処理されたものが優先されます。
次のオプションは、LIB のすべてのモードに適用されます。
/ERRORREPORT [NONE | PROMPT | QUEUE | SEND]
/ERRORREPORT オプションは非推奨です。 Windows Vista 以降では、エラー報告は Windows エラー報告 (WER) の設定によって制御されます。
/LINKREPRO:directory-path
/LINKREPROTARGET:filename
Microsoft が lib.exe のクラッシュや内部エラーを診断できるようにするには、/LINKREPRO オプションを使用できます。 このオプションによって生成される "リンク再現コード" は、ライブラリ操作の間に発生した問題を Microsoft が再現できるようにする一連のビルド成果物です。 /LINKREPROTARGET オプションは、/LINKREPRO オプションと共に使用できます。 その場合、指定されたファイルを lib.exe が生成するときに、リンク再現コード成果物のみが生成されます。 詳しくは、Microsoft C++ ツールセットで問題を報告する方法に関する記事をご覧ください。
/LTCG
"LTCG" は link-time code generation (リンク時コード生成) を表します。 この機能には、コンパイラ (cl.exe)、LIB、リンカー (LINK) の間の連携が必要です。 これらの連携により、いずれかのコンポーネントだけで行えるものを超えたコードの最適化が可能になります。
LIB に対する /LTCG オプションは、cl.exe からの入力に、/GL コンパイラ オプションを使って生成されたオブジェクト ファイルが含まれることを指定します。 LIB でこのような入力が見つかり、/LTCG が指定されていない場合、LIB は情報メッセージを表示した後、/LTCG を有効にして再起動します。 つまり、このオプションを明示的に設定する必要はありませんが、設定するとビルドのパフォーマンスが向上します。 これは、LIB がそれ自体を再起動する必要がないためです。
ビルド プロセスでは、LIB からの出力が LINK に送信されます。 LINK には独自の /LTCG オプションが別にあります。 それは、プログラム全体の最適化や、ガイド付き最適化のプロファイル (PGO) のインストルメンテーションなど、さまざまな最適化を実行するために使用されます。 LINK オプションについて詳しくは、/LTCG に関する記事をご覧ください。
/MACHINE
プログラムのターゲット プラットフォームを指定します。 通常、/MACHINE を指定する必要はありません。 LIB によって、.obj ファイルからコンピューターの種類が推測されます。 ただし、状況によっては、LIB がコンピューターの種類を特定できず、エラー メッセージが表示されることがあります。 そのようなエラーが発生する場合は、/MACHINE を指定してください。 /EXTRACT モードでは、このオプションは検証専用です。 使用可能なマシンの種類を確認するには、コマンド ラインで lib /?
を使用します。
/NOLOGO
LIB の著作権メッセージとバージョン番号の表示を抑制し、コマンド ファイルがエコーされないようにします。
/VERBOSE
追加されている .obj ファイルの名前など、セッションの進行状況の詳細を表示します。 情報は標準出力に送信され、ファイルにリダイレクトすることもできます。
/WX[:NO]
警告をエラーとして扱います。 詳細については、「/WX (リンカー警告をエラーとして扱う)」を参照してください。
その他のオプションは、LIB の特定のモードにのみ適用されます。 これらのオプションについては、各モードに関するセクションで説明されています。