VC PlusPlus:起動時のエラー 0xc000007b 対処方法のソースを表示
新しいページはコチラ
移動:
案内
,
検索
== '''概要''' == 「アプリケーションを正しく起動出来ませんでした。(0xc000007b)。[OK]をクリックしてアプリケーションを閉じてください。」というエラーが表示される。 この原因は32bitのdllとexe群で、64bitのdllとexe群を相互に参照し合っている場合に発生します。呼び出している全てのexeとdllが32bit版のものになっているかを確認する必要があります。大規模なものだと、物凄く大変な作業になる可能性もあります。そこで簡単に確認する方法を考えてみました。 大規模な場合はdllとexeのパス一覧を取得できるツールが必要になります。例えば、[https://github.com/dodonki1223/FolderFileList/blob/master/docs/README.md https://github.com/dodonki1223/FolderFileList/blob/master/docs/README.md]のようなフォルダファイルリスト.exeでは、特定のパスの中を対象に拡張子を検索を可能としてくれています。dllとexeというのを一緒に検索することは出来ませんが、2回やるだけなので、楽な方だと思います。もっと違うツールだとサクッといけるかもしれませんが、自分はコレが便利かなぁと思いました。やるな!アプリ作成者さん。っていう感じです。しかも表形式にいくつかのパターンでリスト化してくれるので、有り難いです。結構後ろの方にある。対象フォルダ以下というフィールドがいい感じで相対パスのリストになるので、扱いやすい。 取得したリストをテキストにペロッて貼り付けます。それで「\n」を「 /headers | findstr machine\n"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\bin\Hostx86\x86\dumpbin" 」とかに変換します。dumpbinコマンドを使って/headersを検索し、その中にあるmachineというキーワードの部分を探すというコマンドを沢山作ります。変換でやると一番最初と最後がうまく変換できないので、ちょっと調整が必要です。dumpbinコマンドの在り処は、それぞれのVisualStudioの設定によります。いくつか入っている場合もありますので、適当なものを使ってください。パスを切ると、コマンドが短く出来ますが、お任せします。 <syntaxhighlight2 lang="text"> dumpbin ((lib or exe)ファイルの(完全パスor相対パス)) /headers | findstr machine </syntaxhighlight2> 32bitなら <syntaxhighlight2 lang="text"> 14C machine (x86) 32 bit word machine </syntaxhighlight2> 64bitなら <syntaxhighlight2 lang="text"> 8664 machine (x64) </syntaxhighlight2> というような結果を得られるでしょう。 これで確実に解決できるとは限りません。 それでも分からないときは以下のツールを使いましょう。かつてはMicrosoftから密やかに提供されていたToolのDepeds.exeというのがあったのですが、今はありません。それに代わるアプリケーションが[https://github.com/lucasg/Dependencies Dependencies]というツールです。DLLを参照するようなアプリケーションの本体をツールに読み込ませると関連するDllが列挙されます。赤色で表示された部分が問題の部分となります。こういうDLLとの組み合わせを確認するツールを「依存関係を確認するツール」と呼びます。依存関係。あまり使わない言葉だわな。
VC PlusPlus:起動時のエラー 0xc000007b 対処方法
に戻る。
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
最近の更新
おまかせ表示
ヘルプ
ツールボックス
リンク元
関連ページの更新状況
特別ページ