質問: デバックを行ったときに、ハンドルされない例外が~と先日質問をしたのですが、 そのほかにもメッセージで 「'opencvtest.exe' (Win32): 'C:\Windows\System32\ntdll.dll' が読み込まれました。PDB ファイルを開けないか、ファイルが見つかりません。」 といったものが数十個出ていました。 ソリューションプラットフォームはx64です。なのになぜSystem32を読み込もうとしているのか。読み込むなら64じゃないのか。。。??? ここの設定を変えることが分からず、困っています。 そもそもSystem64を読み込んでうまくいくのかもわからず。。。 これのせいでハンドルが~のエラーが出てしまっているのではないかと色々考えて調べてますが、よくわかりませんでした。 解決策のほどよろしくお願いします。 因みにビルド時のエラーメッセージは出ていませんが、「========== ビルド: 0 正常終了、0 失敗、1 更新不要、0 スキップ ==========」と失敗1が出てしまっています。
回答: 64bit Windowsの`System32`フォルダには実際には64ビットのバイナリが置かれていて、32ビットのプログラムを実行した時に`System32`から`SysWOW64`にリダイレクトすると言う仕組みになってます。 詳しくは、WOW64のシステムフォルダとレジストリを参照して下さい。 PDBファイルはプログラムデータベースファイルの事で、 デバッグする時にそこからプログラムの情報を読み取るために使用しますが、 Windowsのシステムファイルにはそれがないためメッセージが表示されてますが、 特に気にする必要は無いと思います。