インポート・ライブラリーとエクスポート・ファイルをビルドするには,次の構文を使用します。
LIB /DEF[:deffile] [options] [objfiles] [libraries]
/DEF が指定されていると,LIB は LIB コマンドに渡されたエクスポート指定から出力ファイルを作成します。エクスポートを指定する方法は 3 つあります。次に,これらの方法を推奨される順番に示します。
いずれかの objfiles または libraries で cDEC$ ATTRIBUTES DLLEXPORT を使用する
LIB コマンド行で /EXPORT:name を指定する。
deffile の EXPORTS 文中に定義を指定する。
これらは,エクスポートを行うプログラムをリンクするときにエクスポートを指定するために使用する方法と同じです。プログラムは複数の方法を使うことができます。LINK コマンドの場合と同様に,LIB コマンドの一部 (たとえば複数の objfiles や /EXPORT 指定など) を LIB コマンドのコマンド・ファイルで指定することができます。
次に,インポート・ライブラリーとエクスポート・ファイルのビルドに適用されるオプションを示します。
これはデバッグ情報の書式を設定します。Visual C++ と Visual Fortran が必要とする新しい形式の Microsoft シンボリック・デバッグ情報を要求するには CV を指定します。Common Object File Format (COFF) デバッグ情報を要求するには COFF を指定します。COFF デバッグ情報と古い形式の Microsoft デバッグ情報の両方を要求するには BOTH を指定します。
このオプションは,作成される import ライブラリーの基本出力ファイル名を置換します。/OUT が指定されなければ,基本名は,LIB コマンドの最初のオブジェクト・ファイルまたはライブラリーの基本名に .LIB という拡張子を加えたものになります。エクスポート・ファイルには,インポート・ライブラリーと同じ基本名に .EXP という拡張子を加えた名前が与えられます。
このオプションは,プログラムから関数をエクスポートし,他のプログラムがその関数を呼び出せるようにします。データをエクスポートすることもできます。エクスポートは,通常は DLL の中で定義されます。
entryname は,呼び出し側プログラムが使用する関数またはデータ項目の名前です。オプションとして,定義側のプログラムでの関数名 internalname を指定することができます。基本設定では,internalname は entryname と同じです。ordinal は,エクスポート・テーブル中の,1 ~ 65535 の範囲のインデックスを指定します。ordinal を指定しなければ,LIB が自動的に値を割り当てます。NONAME キーワードは,関数を entryname なしで,ordinal だけでエクスポートします。
このオプションは,指定されたシンボルをシンボル・テーブルに追加します。これは,通常であれば取り込まれないライブラリー・オブジェクトを強制的に追加したい場合に便利です。