なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

Visual Studio をアップデート後に MSBuild 経由でビルドして C1853 エラーが発生したら

作業自動化などのために、コマンドラインから MSBuild.exe を叩いているときなどに起きるエラー。
たとえば、以下のようにしている場合:

$ MSBuild.exe /t:Build /p:Configuration=Release /p:Platform=x64 src/example.vcxproj

Visual Studio をアップデートしたりすると、以下のようなエラーが発生する場合がある:

fatal error C1853: 'pch.h' precompiled header file is from a previous version of the compiler, or the precompiled header is C++ and you are using it from C (or vice versa)

こういう場合は、前回ビルドしたときのキャッシュのうち、 precompiled header がおかしくなっているケースなので、実行するコマンドを常に以下のようにすれば良い:

$ MSBuild.exe /t:Rebuild /p:Configuration=Release /p:Platform=x64 src/example.vcxproj

まぁ要するに基本的に Rebuild させておけば治る。といった感じ。
ではでは。