コマンドラインエラー D8049
'compiler-component' を実行できません: コマンドラインが長すぎてデバッグレコードに収まりません
デバッグ レコード インクルード パスの内部長の制限を超えました。
解説
コンパイラは、オブジェクト ファイルにデバッグ レコードを作成するときに、インクルードされている各ファイルの完全パスを使用します。 絶対パスは、指定されたとおりに記録されます。 相対インクルード パスの場合、デバッグ レコードは、ビルドの現在の作業ディレクトリの前に、相対パスを付加します。 ビルドが比較的深いパスで実行されている場合は、対応するパス レコードが長くなります。 長いパスの長さの合計が、コンパイラの内部制限を超えている可能性があります。
この問題を解決するには
インクルード ディレクトリとビルド ディレクトリには、短いパスを使用してください。 パスが短いディレクトリにライブラリ インクルード ヘッダーをインストールし、プロジェクトの中間および宛先のビルド ディレクトリへの短いパスを使用します。 パスを別名にする場合は、短いエイリアスを使用します。 パスが短いディレクトリに
%TMP%
と%TEMP%
を設定します。インクルード ファイルを、特定のソース ファイルに必要な最小セットに最適化します。 このメソッドには、コンパイル時間を短縮する利点もあります。 プリコンパイル済みヘッダーを使用する場合は、プリコンパイル済みヘッダー ファイルに含めるヘッダーのセットを最適化することが重要です。 複雑なソリューションでは、プロジェクトのさまざまな部分に合わせて最適化されたさまざまなプリコンパイル済みヘッダーを作成することが有用な場合があります。 コードで C++ 20 を使用する場合は、モジュールまたはヘッダー モジュールをプリコンパイル済みヘッダーに設定することをお勧めします。