VC2008 C1859ビルドエラーの回避策 | 株式会社リッカWebサイト

株式会社リッカ

BLOG
ブログ詳細

2015-10-22VC2008 C1859ビルドエラーの回避策

vc2008でc1859が出てあわわしてる

環境

Windows8.1
VC2008 sp1

現象

同僚が修正したチェックインをTFSから取得したら、
「fatal error C1859: ‘Debug\xxxx.pch’ 予期しないプリコンパイル済みヘッダー エラーです。コンパイラを再度実行するだけで、問題が解決する場合があります。」
と言う謎のエラーが多発…

やったこと

クリーンとリビルド繰り返すも解決せず。
Release/Debugを切り替えるも解決せず。

まさかプロジェクトファイルが更新されたな!!
と思ったけど、チェックインされたファイルにそれっぽい個所が無い…

とりあえずぐぐると

Microsoft
https://support.microsoft.com/ja-jp/kb/976656
が出てきた。

回避策に
・Microsoft Visual Studio 2008 Service Pack 1 適用
->済み
・/analyze コンパイラ オプションを無効
->見つからない(Enterprise以上?)
・以降の工程も一応やったけど無理

何かのファイルが邪魔している可能性もあるので、
ソースディレクトリを削除して再取得。
そしてビルドしたら解決…

何だったんだろう。

結論

C1859が出てビルドエラーになりリビルドしてもダメだったら、
ソースディレクトリを削除して再取得。

追加調査

悪さしているファイルが何か原因を調査
idlが生成する
xxxx_i.c
xxxx_p.c
に差分が見つかったためリネーム。
そしたらビルドに成功しました。
ただし、現象を再現させようと名前を戻しても現象再現せず。
現象再現しないので追加調査終了…

再取得が難しい場合は、idlの生成するファイルを探して消すのもいいかもしれません。