/WHOLEARCHIVE (すべてのライブラリ オブジェクト ファイルを含める)

リンクされた実行可能ファイル内のすべてのオブジェクト ファイルをリンカーで強制的にスタティック ライブラリに含めます。

構文

/WHOLEARCHIVE
/WHOLEARCHIVE:library

引数

library
スタティック ライブラリへの省略可能なパス名。 リンカーには、このライブラリのすべてのオブジェクト ファイルが含まれています。

解説

/WHOLEARCHIVE オプションを指定すると、リンカーによって、指定したスタティック ライブラリから、またはライブラリが指定されていない場合は LINK コマンドに指定されたすべてのスタティック ライブラリから、すべてのオブジェクト ファイルが強制的に含められます。 複数のライブラリに対して /WHOLEARCHIVE オプションを指定するには、リンカー コマンド ラインで複数の /WHOLEARCHIVE スイッチを使用できます。 既定では、リンカーでは、実行可能ファイル内の他のオブジェクト ファイルによって参照されるシンボルをエクスポートする場合にのみ、リンクされた出力にオブジェクト ファイルを含めます。 /WHOLEARCHIVE オプションを使用すると、スタティック ライブラリにアーカイブされたオブジェクト ファイルはすべて、リンカー コマンド ラインで個別に指定された場合と同じ方法で扱われます。

/WHOLEARCHIVE オプションは、スタティック ライブラリからすべてのシンボルを再エクスポートするために使用できます。 これにより、複数のスタティック ライブラリからコンポーネントを作成するときに、すべてのライブラリ コード、リソース、メタデータを確実に含めることができます。 エクスポートする Windows ランタイム コンポーネントを含むスタティック ライブラリを作成するときに警告 LNK4264 が表示される場合は、そのライブラリを別のコンポーネントまたはアプリにリンクするときに /WHOLEARCHIVE オプションを使用します。

/WHOLEARCHIVE オプションは、Visual Studio 2015 Update 2 で導入されました。

このリンカー オプションを Visual Studio で設定するには

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳しくは、「Visual Studio で C++ コンパイラとビルド プロパティを設定する」をご覧ください。

  2. [構成プロパティ]>[リンカー]>[コマンド ライン] プロパティ ページを選択します。

  3. [追加オプション] テキスト ボックスに /WHOLEARCHIVE オプションを追加します。

関連項目

MSVC リンカーのリファレンス
MSVC リンカー オプション