Dependency Walkerを使用して、実行可能ファイルの.dll依存関係を解決しようとしています。現在、次の形式で.dllが欠落しています。
API-MS-WIN-XXX
EXT-MS-WIN-XXX
例えば:
API-MS-WIN-APPMODEL-IDENTITY-L1-2-0.DLL
API-MS-WIN-APPMODEL-RUNTIME-INTERNAL-L1-1-0.DLL
API-MS-WIN-BASE-UTIL-L1-1-0.DLL
API-MS-WIN-CORE-APIQUERY-L1-1-0.DLL
EXT-MS-WIN-RTCORE-NTUSER-SYSCOLORS-L1-1-0.DLL
これらを解決する方法についてのアイデアはありますか?どんな助けも大歓迎です!
追加情報:Visual Studio 201を使用して実行可能ファイルをコンパイルしました。最も興味深いのは、コンパイル中にエラーが発生しなかったことです。ただし、依存関係がないため、実行できません。依存関係ウォーカーのスクリーンショットも添付しました。
更新1:問題を解決するために、VSがコンパイル中に使用したライブラリのパスを$ PATHに追加しようとしました。運のない環境変数(Dependency Walkerは未解決の依存関係を示します)。
これらはAPIセットです。 本質的に、余分なレベルの呼び出し間接化 Windows 7以降、徐々に導入されました。
これらはすべて偽陰性であり、心配する必要はありません。あなたは何も見逃していません。
API-MS-WIN-XXXXX.DLL、およびその他の依存関係ウォーカーグリッチについて も参照してください。
編集:2017年10月にようやく誰かがこのギャップを埋めようとしました。 lucasgによる依存関係 を満たす。私は今まで簡単にそれをいじりましたが、APIセットをうまく処理し、少なくとも非常に注目に値します。
@Ofek Shilonが言ったことに加えて、私は通常、プログラムの欠落しているdllを見つけようとするときに、dependency_walkerが欠落していると特定した以下のdllを無視します。 dependency_walkerがこれらのdllが欠落していると言うと、プログラムが正常に実行されることがわかります。
上記以外のdllを検索して、問題を解決できます。
私も無視します: