web-dev-qa-db-ja.com

0xc000007bエラー?

ここに私の状況をよりよく理解するためのいくつかの情報があります。

OS:Windows 8.1

IDE:Visual Studio 2008 Pro

言語:C++

firefoxを再インストールしましたが、この後(おそらくそれが理由ではありませんでした)、

私のビジュアルスタジオプロジェクトは、9.0.30729.6161 VC++ランタイムDLLのみでコンパイルされています。

昨日までは、常に9.0.30729.8387 VC++ランタイムDLLでコンパイルされていました。

このため(または他の理由で)、Project.exeを起動できなくなりました。

ソースコードは何も変更されていません。 Project-Propertyおよびその他すべてのものも変更されていません。

突然エラー番号0xc000007bが表示されます。

どうすればこれを修正できますか?

error message

7
jung

これは、32ビットDLLが原因でしたが、64ビットProject.exeではロードしないでください。

私はこれをProcessMonitorで見つけました。

理由はわかりませんが、とにかく「パス」が変更され、32ビットDLL(64ビットDLLと同じ名前)がロードされます。

同じ問題が発生した場合は、Process Monitorを起動して、dllファイルを確認してください。

11
jung

別の場所に答えを入力しましたが、それがひどく助けを必要としている人々に役立つかもしれないと考えてください:

他の回答では、依存関係ウォーカーを使用することが道のりであると述べられています。私の場合(私のアプリケーションはエラーコードで失敗し続けます)、依存関係ウォーカーは関連のないいくつかのdllを示しました!

最後に、「プロファイル」メニューに移動してプロファイリングを実行できることがわかりました。アプリケーションが実行され、問題の原因となっている正確なdllで停止します。パスが原因で32ビットdllが選択されていることがわかり、修正しました。

enter image description here

3
pktCoder