コンパイラとリンカーのオプション (C++/CX)

Windows ランタイム向けアプリの作成をサポートする環境変数、C++/CX コンパイラ オプション、リンカー オプションがあります。

Library path (ライブラリのパス)

%LIBPATH% 環境変数は、.winmd ファイルを検索するための既定パスを指定します。

コンパイラ オプション

オプション 説明
/ZW

/ZW:nostdlib
Windows ランタイム言語拡張機能を有効にします。

nostdlib パラメーターは、コンパイラが、アセンブリと .winmd ファイルの検索に標準の定義済み検索パスを使用しないようにします。

/ZW コンパイラ オプションは、暗黙的に次のコンパイラ オプションを指定します。

- /FI vccorlib.h - コンパイラで必要な多くの型を定義する vccorlib.h ヘッダー ファイルのインクルードを強制します。
- /FU Windows.winmd: オペレーティング システムによって提供される Windows.winmd メタデータ ファイルのインクルードを強制し、Windows ランタイムの多くの型を定義します。
- /FU Platform.winmd - コンパイラが提供し、名前空間のプラットフォーム ファミリのほとんどの型を定義する Platform.winmd メタデータ ファイルのインクルードを強制します。
/AIdir dir パラメーターに指定されたディレクトリを、コンパイラがアセンブリと .winmd ファイルを検索するために使用する検索パスに追加します。
/FUファイル 指定されたモジュールまたは .winmd ファイルのインクルードを強制します。 つまり、ソース コード内に #usingfile を指定する必要はありません。 コンパイラは、独自の Windows メタデータ ファイル Platform.winmd のインクルードを自動的に強制します。
/D"WINAPI_FAMILY = 2" Windows ランタイムと互換性のある Win32 SDK のサブセットの使用を有効にする定義を作成します。

リンカー オプション

オプション 説明
/APPCONTAINER[:NO] 実行可能ファイルを、AppContainer (のみ) で実行可能としてマークを付けます。
/WINMD[:{NO|ONLY}] .winmd ファイルと関連するバイナリ ファイルを生成します。 このオプションは、生成する .winmd のリンカーに渡す必要があります。

NO—.winmd ファイルは生成しませんが、バイナリ ファイルを生成します。

ONLY—..winmd ファイルを生成しますが、バイナリ ファイルは生成しません。
/WINMDFILE:filename 生成する .winmd ファイルの名前。既定の .winmd ファイル名の代わりに使用されます。 コマンド ラインで複数のファイル名を指定すると、最後の名前が使用されます。
/WINMDDELAYSIGN[:NO] 部分的に .winmd ファイルに署名し、公開キーをバイナリに配置します。

NO—(既定) .winmd ファイルに署名しません。

/WINMDKEYFILE または /WINMDKEYCONTAINER も指定しないかぎり、/WINMDDELAYSIGN の影響はありません。
/WINMDKEYCONTAINER:name アセンブリに署名するためのキー コンテナーを指定します。 name パラメーターは、メタデータ ファイルの署名に使用するキー コンテナーに対応します。
/WINMDKEYFILE:filename アセンブリに署名するためのキーまたはキー ペアを指定します。 filename パラメーターは、メタデータ ファイルの署名に使用するキーに対応します。

解説

/ZWが使用されると、コンパイラは DLL バージョンの C ランタイム (CRT) に自動的にリンクします。 スタティック ライブラリ バージョンにはリンクできません。また、ユニバーサル Windows プラットフォーム アプリで許可されていない CRT 関数を使用すると、コンパイル時のエラーが発生します。

関連項目

アプリとライブラリのビルド