CL タスク

Note

このタスクは、C++ ビルド システムを使用している場合にのみ使用できます。

Microsoft C++ コンパイラ ツール cl.exe をラップします。 コンパイラは、実行可能ファイル ( .exe)、ダイナミック リンク ライブラリ ( .dll) ファイル、またはコード モジュール ( .netmodule) ファイルを生成します。 詳細については、「コンパイラ オプション」、「コマンド ラインから MSBuild を使用する」、「コマンド ラインから Microsoft C++ ツールセットを使用する」を参照してください。

パラメーター

次の一覧では、CL タスクのパラメーターを説明します。 タスク パラメーターの大部分とパラメーターのいくつかのセットは、コマンド ライン オプションに対応します。

  • AdditionalIncludeDirectories

    省略可能な String[] 型のパラメーターです。

    インクルード ファイルを検索するディレクトリのリストにディレクトリを追加します。

    詳細については、「/I (追加インクルード ディレクトリ)」を参照してください。

  • AdditionalOptions

    省略可能な String 型のパラメーター。

    コマンド ライン オプションのリスト。 たとえば、"/<option1> /<option2> /<option#>" のようになります。 他のタスク パラメーターでは表されないコマンド ライン オプションを指定する場合は、このパラメーターを使用します。

    詳細については、「コンパイラ オプション」を参照してください。

  • AdditionalUsingDirectories

    省略可能な String[] 型のパラメーター。

    #using ディレクティブに渡されたファイル参照を解決するために、コンパイラによって検索されるディレクトリを指定します。

    詳細については、「/AI (メタデータ ディレクトリの指定)」を参照してください。

  • AlwaysAppend

    省略可能な String 型のパラメーター。

    コマンド ラインで常に出力される文字列。 既定値は " /c" です。

  • AssemblerListingLocation

    アセンブリ コードを含むリスティング ファイルを作成します。

    詳細については、「/FA、/Fa (リスティング ファイル)」の /Fa オプションに関する記述を参照してください。

  • AssemblerOutput

    省略可能な String 型のパラメーター。

    アセンブリ コードを含むリスティング ファイルを作成します。

    次のいずれかの値を指定します。各値はコマンド ライン オプションに対応しています。

    • NoListing - <なし>

    • AssemblyCode - /FA

    • AssemblyAndMachineCode - /FAc

    • AssemblyAndSourceCode - /FAs

    • All - /FAcs

      詳細については、「/FA、/Fa (リスティング ファイル)」の /FA/FAc/FAs、および /FAcs の各オプションに関する記述を参照してください。

  • BasicRuntimeChecks

    省略可能な String 型のパラメーター。

    runtime_checks プラグマと組み合わせて使用し、ランタイム エラー チェック機能を有効および無効にします。

    次のいずれかの値を指定します。各値はコマンド ライン オプションに対応しています。

  • BrowseInformation

    省略可能な Boolean 型のパラメーター。

    true の場合は、ブラウザー情報ファイルが作成されます。

    詳細については、「/FR、/Fr (.sbr ファイルの作成)」の /FR オプションに関する記述を参照してください。

  • BrowseInformationFile

    省略可能な String 型のパラメーター。

    ブラウザー情報ファイルのファイル名を指定します。

    詳細については、この表の BrowseInformation パラメーターを参照してください。また、「/FR、/Fr (.sbr ファイルの作成)」も参照してください。

  • BufferSecurityCheck

    省略可能な Boolean 型のパラメーター。

    true の場合は、リターン アドレス (バッファー サイズの制限を適用しないコードを利用するための一般的な方法) を上書きするいくつかのバッファー オーバーランが検出されます。

    詳細については、「/GS (バッファーのセキュリティ チェック)」を参照してください。

  • BuildingInIDE

    省略可能な Boolean 型のパラメーター。

    true の場合は、IDE によって MSBuild が呼び出されることを示します。 それ以外の場合は、コマンドラインで MSBuild が呼び出されます。

  • CallingConvention

    省略可能な String 型のパラメーター。

    関数の引数をスタックにプッシュする順序、呼び出し元と呼び出し先のどちらの関数が呼び出しの最後にスタックから引数を削除するか、および個々の関数を識別するためにコンパイラが使用する名前装飾規約を決定する、呼び出し規則を指定します。

    次のいずれかの値を指定します。各値はコマンド ライン オプションに対応しています。

  • CompileAs

    省略可能な String 型のパラメーター。

    入力ファイルを C と C++ のどちらのソース ファイルとしてコンパイルするかを指定します。

    次のいずれかの値を指定します。各値はコマンド ライン オプションに対応しています。

  • CompileAsManaged

    省略可能な String 型のパラメーター。

    アプリケーションおよびコンポーネントで、共通言語ランタイム (CLR) の機能を使用できるようにします。

    次のいずれかの値を指定します。各値はコマンド ライン オプションに対応しています。

  • CreateHotpatchableImage

    省略可能な Boolean 型のパラメーター。

    true の場合は、ホット パッチ用のイメージを準備するようにコンパイラに指示します。 このパラメーターを使用することで、各関数の最初の命令が確実にホットパッチに必要な 2 バイトになります。

    詳細については、「/hotpatch (ホットパッチ可能なイメージの作成)」を参照してください。

  • DebugInformationFormat

    省略可能な String 型のパラメーター。

    プログラムに対して作成するデバッグ情報の種類を選択し、デバッグ情報をオブジェクト ( .obj) ファイルに保存するのかプログラム データベース (PDB) に保存するのかを選択します。

    次のいずれかの値を指定します。各値はコマンド ライン オプションに対応しています。

  • DisableLanguageExtensions

    省略可能な Boolean 型のパラメーター。

    true の場合は、ANSI C や ANSI C++ と互換性のない言語コンストラクトに対してエラーを出力するようコンパイラに指示します。

    詳細については、「/Za、/Ze (言語拡張機能の無効化)」の /Za オプションに関する記述を参照してください。

  • DisableSpecificWarnings

    省略可能な String[] 型のパラメーター。

    セミコロン区切りリストで指定されている警告番号を無効にします。

    詳細については、「/w, /W0, /W1, /W2, /W3, /W4, /w1, /w2, /w3, /w4, /Wall, /wd, /we, /wo, /Wv, /WX (Warning Level)」(/w、/W0、/W1、/W2、/W3、/W4、/w1、/w2、/w3、/w4、/Wall、/wd、/we、/wo、/Wv、/WX (警告レベル)) の /wd オプションをご覧ください。

  • EnableEnhancedInstructionSet

    省略可能な String 型のパラメーターです。

    ストリーミング SIMD 拡張機能 (S Standard Edition)、ストリーミング SIMD Extensions 2 (S Standard Edition 2) および Advanced Vector Extensions (AVX) 命令を使用するコード生成のアーキテクチャを指定します。

    次のいずれかの値を指定します。各値はコマンド ライン オプションに対応しています。

    • NoExtensions - /arch:IA32

    • StreamingSIMDExtensions - /arch:SSE

    • StreamingSIMDExtensions2 - /arch:SSE2

    • AdvancedVectorExtensions - /arch:AVX

    • AdvancedVectorExtensions2 - /arch:AVX2

    • AdvancedVectorExtensions512 - /arch:AVX512

      詳細については、「/arch (x86)」を参照してください。

  • EnableFiberSafeOptimizations

    省略可能な Boolean 型のパラメーター。

    true の場合、静的スレッド ローカル ストレージを使用して割り当てられたデータ (つまり、__declspec(thread) を使用して割り当てられたデータ) に対して、ファイバー保護をサポートします。

    詳細については、「/GT (スレッド ローカル ストレージを使用したファイバー保護のサポート)」を参照してください。

  • EnablePREfast

    省略可能な Boolean 型のパラメーター。

    true の場合、コード分析が有効になります。

    詳細については、「/analyze (コード分析)」を参照してください。

  • ErrorReporting

    省略可能な String 型のパラメーター。

    内部コンパイル エラー (ICE) 情報を Microsoft に直接報告できます。 既定では、IDE ビルドの設定は Prompt、コマンド ライン ビルドの設定は Queue になります。

    次のいずれかの値を指定します。各値はコマンド ライン オプションに対応しています。

  • ExceptionHandling

    省略可能な String 型のパラメーター。

    コンパイラで使用する例外処理のモデルを指定します。

    次のいずれかの値を指定します。各値はコマンド ライン オプションに対応しています。

    • false - <なし>

    • Async - /EHa

    • Sync - /EHsc

    • SyncCThrow - /EHs

      詳細については、「/EH (例外処理モデル)」を参照してください。

  • ExpandAttributedSource

    省略可能な Boolean 型のパラメーター。

    true の場合、ソース ファイルに拡張された属性を挿入したリスティング ファイルが作成されます。

    詳細については、「/Fx (挿入されたコードのマージ)」を参照してください。

  • FavorSizeOrSpeed

    省略可能な String 型のパラメーター。

    コードのサイズとコードの速度のどちらを優先するかを指定します。

    次のいずれかの値を指定します。各値はコマンド ライン オプションに対応しています。

  • FloatingPointExceptions

    省略可能な Boolean 型のパラメーター。

    true の場合は、信頼性の高い浮動小数点例外モデルが有効になります。 例外は発生直後にスローされます。

    詳細については、「/fp (浮動小数点の動作の指定)」の /fp:except オプションに関する記述を参照してください。

  • FloatingPointModel

    省略可能な String 型のパラメーター。

    浮動小数点モデルを設定します。

    次のいずれかの値を指定します。各値はコマンド ライン オプションに対応しています。

  • ForceConformanceInForLoopScope

    省略可能な Boolean 型のパラメーター。

    true の場合は、Microsoft の拡張機能 (/Ze) を使用する for ループの標準 C++ 動作が実装されます。

    詳細については、「/Zc:forScope (for ループのスコープの強制準拠)」を参照してください。

  • ForcedIncludeFiles

    省略可能な String[] 型のパラメーターです。

    プリプロセッサで、指定された 1 つ以上のヘッダー ファイルが処理されます。

    詳細については、「/FI (強制インクルード ファイルの名前の指定)」を参照してください。

  • ForcedUsingFiles

    省略可能な String[] 型のパラメーターです。

    プリプロセッサで、指定された 1 つ以上の #using ファイルが処理されます。

    詳細については、「/FU (強制 #using ファイルの名前の指定)」を参照してください。

  • FunctionLevelLinking

    省略可能な Boolean 型のパラメーターです。

    true の場合は、コンパイラで、パッケージ化された関数の形式 (COMDATs) で個別の関数をパッケージ化できるようにします。

    詳細については、「/Gy (関数レベルのリンクの有効化)」を参照してください。

  • GenerateXMLDocumentationFiles

    省略可能な Boolean 型のパラメーターです。

    true の場合は、コンパイラでソース コード ファイルのドキュメント コメントが処理され、ドキュメント コメントを含むソース コード ファイルごとに .xdc ファイルが作成されます。

    詳細については、「/doc (ドキュメント コメントの処理) (C/C++)」を参照してください。 この表の XMLDocumentationFileName パラメーターも参照してください。

  • IgnoreStandardIncludePath

    省略可能な Boolean 型のパラメーターです。

    true の場合は、コンパイラが、PATH および INCLUDE 環境変数で指定されているディレクトリ内のインクルード ファイルを検索しないようにします。

    詳細については、「/X (標準インクルード パスの無視)」を参照してください。

  • InlineFunctionExpansion

    省略可能な String 型のパラメーターです。

    ビルドのインライン関数の拡張レベルを指定します。

    次のいずれかの値を指定します。各値はコマンド ライン オプションに対応しています。

    • 既定値 - <なし>

    • Disabled - /Ob0

    • OnlyExplicitInline - /Ob1

    • AnySuitable - /Ob2

      詳細については、「/Ob (関数のインライン展開)」を参照してください。

  • IntrinsicFunctions

    省略可能な Boolean 型のパラメーターです。

    true の場合は、一部の関数呼び出しが組み込み関数に置き換えられます。それ以外の場合は、特殊な形式の関数が使用されます。これは、アプリケーションの実行時間を短縮するのに役立ちます。

    詳細については、「/Oi (組み込み関数の生成)」を参照してください。

  • MinimalRebuild

    省略可能な Boolean 型のパラメーターです。 このオプションは非推奨です。

    true の場合は、最小リビルドが有効になります。これにより、(ヘッダー (.h) ファイルに格納されている) 変更された C++ クラス定義を含む C++ ソース ファイルを再コンパイルする必要があるかどうかが決定されます。

    詳細については、「/Gm (簡易リビルドの有効化)」を参照してください。

  • MultiProcessorCompilation

    省略可能な Boolean 型のパラメーターです。

    true の場合は、複数のプロセッサを使用してコンパイルします。 このパラメーターでは、コンピューター上の有効なプロセッサごとにプロセスが作成されます。

    詳細については、「/MP (複数のプロセスを使用したビルド)」を参照してください。 この表にある ProcessorNumber パラメーターも参照してください。

  • ObjectFileName

    省略可能な String 型のパラメーターです。

    既定値の代わりに使用する、オブジェクト (.obj) ファイルの名前またはディレクトリを指定します。

    詳細については、「/Fo (オブジェクト ファイルの名前の指定)」を参照してください。

  • ObjectFiles

    省略可能な String[] 型のパラメーターです。

    オブジェクト ファイルのリスト。

  • OmitDefaultLibName

    省略可能な Boolean 型のパラメーターです。

    true の場合は、オブジェクト ( .obj) ファイルの既定の C ランタイム ライブラリ名が省略されます。 既定では、コンパイラでライブラリ名が .obj ファイルにプッシュされ、リンカーに適切なライブラリが示されます。

    詳細については、「/Zl (既定のライブラリ名の省略)」を参照してください。

  • OmitFramePointers

    省略可能な Boolean 型のパラメーターです。

    true の場合は、呼び出し履歴にフレーム ポインターが作成されなくなります。

    詳細については、「/Oy (フレーム ポインターの省略)」を参照してください。

  • OpenMPSupport

    省略可能な Boolean 型のパラメーターです。

    true の場合は、コンパイラで OpenMP 句とディレクティブが処理されます。

    詳細については、「/openmp (OpenMP 2.0 サポートの有効化)」を参照してください。

  • Optimization

    省略可能な String 型のパラメーターです。

    速度とサイズに関するさまざまなコードの最適化を指定します。

    次のいずれかの値を指定します。各値はコマンド ライン オプションに対応しています。

  • PrecompiledHeader

    省略可能な String 型のパラメーターです。

    ビルド時にプリコンパイル済みヘッダー ( .pch) ファイルを作成または使用します。

    次のいずれかの値を指定します。各値はコマンド ライン オプションに対応しています。

  • PrecompiledHeaderFile

    省略可能な String 型のパラメーターです。

    作成または使用するプリコンパイル済みヘッダー ファイルの名前を指定します。

    詳細については、「/Yc (プリコンパイル済みヘッダー ファイルの作成)」と「/Yu (プリコンパイル済みヘッダー ファイルの使用)」を参照してください。

  • PrecompiledHeaderOutputFile

    省略可能な String 型のパラメーターです。

    既定のパス名を使用する代わりにプリコンパイル済みヘッダーのパス名を指定します。

    詳細については、「/Fp (.pch ファイルの名前の指定)」を参照してください。

  • PreprocessKeepComments

    省略可能な Boolean 型のパラメーターです。

    true の場合は、プリプロセス時にコメントが保持されます。

    詳細については、「/C (プリプロセス時のコメントの保持)」を参照してください。

  • PreprocessorDefinitions

    省略可能な String[] 型のパラメーターです。

    ソース ファイルの前処理シンボルを定義します。

    詳細については、「/D (プリプロセッサ定義)」を参照してください。

  • PreprocessOutput

    省略可能な ITaskItem[] 型のパラメーターです。

    タスクで使用および生成できるプリプロセッサ出力項目の配列を定義します。

  • PreprocessOutputPath

    省略可能な String 型のパラメーターです。

    PreprocessToFile パラメーターで前処理済みの出力を書き込む出力ファイルの名前を指定します。

    詳細については、「/Fi (出力ファイル名のプリプロセス)」を参照してください。

  • PreprocessSuppressLineNumbers

    省略可能な Boolean 型のパラメーターです。

    true の場合、C および C++ ソース ファイルが前処理され、前処理されたファイルが標準出力デバイスにコピーされます。

    詳細については、「/EP (#line ディレクティブを挿入しない stdout へのプリプロセス)」を参照してください。

  • PreprocessToFile

    省略可能な Boolean 型のパラメーターです。

    true の場合、C および C++ ソース ファイルが前処理され、前処理済みの出力がファイルに書き込まれます。

    詳細については、「/P (プリプロセス出力のファイルへの書き込み)」を参照してください。

  • ProcessorNumber

    省略可能な Integer 型のパラメーターです。

    マルチプロセッサ コンパイル時に使用するプロセッサの最大数を指定します。 このパラメーターは、MultiProcessorCompilation パラメーターと組み合わせて使用します。

  • ProgramDataBaseFileName

    省略可能な String 型のパラメーターです。

    プログラム データベース (PDB) ファイルの名前を指定します。

    詳細については、「/Fd (プログラム データベース ファイル名)」を参照してください。

  • RuntimeLibrary

    省略可能な String 型のパラメーターです。

    マルチスレッド モジュールが DLL であるかどうかを指定し、ランタイム ライブラリのリテール バージョンまたはデバッグ バージョンを選択します。

    次のいずれかの値を指定します。各値はコマンド ライン オプションに対応しています。

  • RuntimeTypeInfo

    省略可能な Boolean 型のパラメーターです。

    true の場合、実行時に C++ のオブジェクト型をチェックするコードが追加されます (ランタイム型情報)。

    詳細については、「/GR (ランタイム型情報の有効化)」を参照してください。

  • ShowIncludes

    省略可能な Boolean 型のパラメーターです。

    true の場合、コンパイラでインクルード ファイルの一覧が出力されます。

    詳細については、「/showIncludes (インクルード ファイル一覧)」を参照してください。

  • SmallerTypeCheck

    省略可能な Boolean 型のパラメーターです。

    true の場合、値がより小さいデータ型に割り当てられ、データ損失が発生したときに、ランタイム エラーが報告されます。

    詳細については、「/RTC (ランタイム エラー チェック)」の /RTCc オプションに関する記述を参照してください。

  • Sources

    必須の ITaskItem[] 型のパラメーターです。

    スペースで区切られたソース ファイルのリストを指定します。

  • StringPooling

    省略可能な Boolean 型のパラメーターです。

    true の場合、コンパイラで、プログラム イメージに同一文字列の 1 つのコピーを作成できます。

    詳細については、「/GF (同一文字列の削除)」を参照してください。

  • StructMemberAlignment

    省略可能な String 型のパラメーターです。

    構造体のすべてのメンバーのバイト配置を指定します。

    次のいずれかの値を指定します。各値はコマンド ライン オプションに対応しています。

    • 既定 - /Zp1

    • 1Byte - /Zp1

    • 2Bytes - /Zp2

    • 4Bytes - /Zp4

    • 8Bytes - /Zp8

    • 16Bytes - /Zp16

      詳細については、「/Zp (構造体メンバーの配置)」を参照してください。

  • SuppressStartupBanner

    省略可能な Boolean 型のパラメーターです。

    true の場合、タスクの開始時に著作権およびバージョン番号のメッセージが表示されないようにします。

    詳細については、「/nologo (著作権情報の非表示) (C/C++)」を参照してください。

  • TrackerLogDirectory

    省略可能な String 型のパラメーターです。

    このタスクの追跡ログの格納先となる中間ディレクトリを指定します。

    詳細については、この表にある TLogReadFiles および TLogWriteFiles パラメーターを参照してください。

  • TreatSpecificWarningsAsErrors

    省略可能な String[] 型のパラメーターです。

    指定したコンパイラ警告の一覧をエラーとして扱います。

    詳細については、「/w, /W0, /W1, /W2, /W3, /W4, /w1, /w2, /w3, /w4, /Wall, /wd, /we, /wo, /Wv, /WX (Warning Level)」(/w、/W0、/W1、/W2、/W3、/W4、/w1、/w2、/w3、/w4、/Wall、/wd、/we、/wo、/Wv、/WX (警告レベル)) の /wen オプションをご覧ください。

  • TreatWarningAsError

    省略可能な Boolean 型のパラメーターです。

    true の場合、コンパイラが生成する警告がすべてエラーとして扱われます。

    詳細については、「/w, /W0, /W1, /W2, /W3, /W4, /w1, /w2, /w3, /w4, /Wall, /wd, /we, /wo, /Wv, /WX (Warning Level)」(/w、/W0、/W1、/W2、/W3、/W4、/w1、/w2、/w3、/w4、/Wall、/wd、/we、/wo、/Wv、/WX (警告レベル)) の /WX オプションをご覧ください。

  • TreatWChar_tAsBuiltInType

    省略可能な Boolean 型のパラメーターです。

    true の場合、wchar_t 型はネイティブ型として扱われます。

    詳細については、「/Zc:wchar_t (wchar_t をネイティブ型として認識)」を参照してください。

  • UndefineAllPreprocessorDefinitions

    省略可能な Boolean 型のパラメーターです。

    true の場合、コンパイラで定義されている Microsoft 固有のシンボルの定義が解除されます。

    詳細については、「/U、/u (定義済みマクロ シンボルの未定義化)」の /u オプションに関する記述を参照してください。

  • UndefinePreprocessorDefinitions

    省略可能な String[] 型のパラメーターです。

    定義を解除する 1 つ以上のプリプロセッサ シンボルの一覧を指定します。

    詳細については、「/U、/u (定義済みマクロ シンボルの未定義化)」の /U オプションに関する記述を参照してください。

  • UseFullPaths

    省略可能な Boolean 型のパラメーターです。

    true の場合、診断時にコンパイラに渡されるソース コード ファイルの完全パスが表示されます。

    詳細については、「/FC (診断時のソース コード ファイルの完全パス)」を参照してください。

  • UseUnicodeForAssemblerListing

    省略可能な Boolean 型のパラメーターです。

    true の場合、出力ファイルが UTF-8 形式で作成されます。

    詳細については、「/FA、/Fa (リスティング ファイル)」の /FAu オプションに関する記述を参照してください。

  • WarningLevel

    省略可能な String 型のパラメーターです。

    コンパイラによって生成される警告の最高レベルを指定します。

    次のいずれかの値を指定します。各値はコマンド ライン オプションに対応しています。

  • WholeProgramOptimization

    省略可能な Boolean 型のパラメーターです。

    true の場合、プログラム全体の最適化が有効になります。

    詳細については、「/GL (プログラム全体の最適化)」を参照してください。

  • XMLDocumentationFileName

    省略可能な String 型のパラメーターです。

    生成される XML ドキュメント ファイルの名前を指定します。 このパラメーターには、ファイルまたはディレクトリ名を指定できます。

    詳細については、「/doc (ドキュメント コメントの処理) (C/C++)」の name 引数に関する記述を参照してください。 この表の GenerateXMLDocumentationFiles パラメーターも参照してください。

  • MinimalRebuildFromTracking

    省略可能な Boolean 型のパラメーターです。

    true の場合、追跡対象のインクリメンタル ビルドが実行され、false の場合は、リビルドが実行されます。

  • TLogReadFiles

    省略可能な ITaskItem[] 型のパラメーターです。

    ファイルの読み取り追跡ログを表す項目の配列を指定します。

    ファイルの読み取り追跡ログ ( .tlog) には、タスクによって読み取られ、プロジェクト ビルド システムによってインクリメンタル ビルドをサポートするために使用される入力ファイルの名前が含まれています。 詳細については、この表の TrackerLogDirectory および TrackFileAccess パラメーターを参照してください。

  • TLogWriteFiles

    省略可能な ITaskItem[] 型のパラメーターです。

    ファイルの書き込み追跡ログを表す項目の配列を指定します。

    ファイルの書き込み追跡ログ ( .tlog) には、タスクによって読み取られ、プロジェクト ビルド システムによってインクリメンタル ビルドをサポートするために使用される出力ファイルの名前が含まれています。 詳細については、この表の TrackerLogDirectory および TrackFileAccess パラメーターを参照してください。

  • TrackFileAccess

    省略可能な Boolean 型のパラメーターです。

    true の場合、ファイル アクセス パターンが追跡されます。

    詳細については、この表にある TLogReadFiles および TLogWriteFiles パラメーターを参照してください。

関連項目