以前、OpenCVのデバッグ版が動かなかったわけで、その時は「デバッグ版の Cランタイムが必要なんだろうけど、まぁいいや」とリリース版を使うようにして逃げていたけど、別アプリケーションの開発にて同じエラーになり、根本的な解決方法を探るかと。
VC8のインストールディレクトリ下に「redist」というディレクトリがあり、その下に再配布用のランタイム類が納められているのだけど、Debug_NonRedistというディレクトリを見てみると以下のディレクトリが。
- Microsoft.VC80.DebugCRT
- Microsoft.VC80.DebugMFC
- Microsoft.VC80.DebugOpenMP
今回は Cランタイムが必要なだけなので Microsoft.VC80.DebugCRT下のファイル(DLLが四つと manifestファイルが一つ)をターゲット実行ファイルと同じディレクトリに放り込んでやったところ…期待通り動くようになったよ。
ただ、redist下にあるけど、「NonRedist」と銘打っているので再配布は駄目なはず。
今回のようにリモートデバッグでターゲット環境に開発環境を入れるわけにも行かない場合にのみ使用できるのだろうな。