開発中に、テスト実行したときに上のようなエラーメッセージが出るようになってしまった。末尾に D と付いていることからも分かるとおりデバッグバージョンの DLL で、デバッグビルドの時だけ出る。リリースビルドの時は出ない。

困ったことにいくらリビルドしても症状は同じ。仕方がないので Visual Studio のディレクトリから MSVCP80D.DLL を C:\WINDOWS にコピーしてみたら、今度は MSVCR80D.DLL が見つかりませんと言われるのでこれもコピー。

すると、今度は「C ランタイムエラー R6034」なるものが。マニフェストを使わずにランタイム DLL をロードすると出るらしいけど、リンカオプションでマニフェストを使うようになってるので謎。という訳でググってみたら たっくん@つれづれvol.3: MSVCP80D.dll という記事を発見。早速中間ディレクトリ(Debug とか Release とかのこと)を削除してリビルドすると…

問題解決 \(^o^)/

中間ディレクトリを削除すると直る、ということは中間ディレクトリに何らかのゴミが入っていたから、ということになる。思い当たる節がないわけではない。しかし、リビルドやクリーンするときに中間ディレクトリの中身をまっさらにする仕様ではないのか VS2005 よ…

# C:\WINDOWS にコピーした MSVC[RP]80D.DLL は不要になるので削除した。

Trackback

no comment untill now

Add your comment now