この記事では、MSB8027エラー コードについて説明します。
メッセージ テキスト
MSB8027: Two or more files with the name of *filename* will produce outputs to the same location. This can lead to an incorrect build result. The files involved are *file-path-1* *file-path-2*.
説明
このエラーは、2 つ以上のソース ファイルの名前が同じで、ビルド結果が同じ中間ディレクトリに移動した場合に発生します。 最初のファイル ビルドの後、ビルドは最初のファイルからの出力を、同じ名前の次のファイルからの出力で上書きします。
多くの場合、エラー出力メッセージの後に LNK4042
警告が続きます。 このエラーは、異なる場所で同じファイル名を使用するプロジェクトを結合するときに発生する可能性があります。
解決策
プロジェクトに同じ名前のソース ファイルが 2 つ以上ある場合は、各ファイルに一意の名前を付けます。
ファイル名を変更できない場合は、各ファイルを一意の中間ディレクトリにコンパイルします。
中間ファイルの場所を設定するには、次の手順に従います。
- ソリューション エクスプローラーで、ソース ファイルを右クリックし、[プロパティ] を選択します。
- ソース ファイルの [プロパティ ページ] ダイアログで 、 構成プロパティ>C/C++>Output Files プロパティ ページを選択します。
- [オブジェクト ファイル名] プロパティを
$(IntDir)
から$(IntDir)%(RelativeDir)
に変更します。 - [OK] を選択して変更を保存します。
対象
MSBuild のすべてのバージョン