Зависимость Уокер: недостающие библиотеки

Я пытался разрешить зависимости.dll для исполняемого файла с помощью Dependency Walker. В настоящее время я получаю.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 2013. Самое интересное, что я не получил никаких ошибок во время компиляции. Однако я не могу запустить его из-за отсутствия зависимостей. Я также приложил скриншот ходунка зависимости:

ходок зависимости

Обновление 1: пытаясь решить эту проблему, я попытался добавить путь к библиотекам, которые VS использовал во время компиляции, в переменную среды $PATH без какой-либо удачи (Dependency Walker по- прежнему показывает неразрешенные зависимости).

3 ответа

Решение

Это наборы API- по сути, дополнительный уровень косвенной обработки вызовов вводится постепенно, начиная с Windows 7. Разработка обходчика зависимостей, казалось бы, остановилась задолго до этого, и она не может правильно обрабатывать наборы API.

Так что это все ложные негативы и не о чем беспокоиться. Вы ничего не пропускаете.

Также см. Об API-MS-WIN-XXXXX.DLL и Другие глюки обхода зависимостей.


Изменить: только в октябре 2017 года кто-то наконец попытался заполнить этот пробел. Встречайте зависимости от lucasg. До сих пор я только кратко возился с этим, но он хорошо справляется с наборами API и, по крайней мере, очень достоин внимания.

В дополнение к тому, что сказал @Ofek Shilon, я обычно игнорирую следующие dll, которые Зависимость_walker определил как отсутствующие, когда я пытаюсь найти отсутствующие dll для своей программы. Вы увидите, что ваша программа работает нормально, когда dependency_walker сообщает, что эти библиотеки отсутствуют.

  • API-MS-WIN - * длл.
  • EXT-MS-WIN-* длл.
  • ieshims.dll
  • EMCLIENT.dll
  • DEVICELOCKHELPERS.dll

Вы можете найти dll, отличные от приведенных выше, чтобы решить вашу проблему.

Программа Dependencies помогла мне быстро найти недостающую DLL. Он имеет открытый исходный код и доступен здесь: https://github.com/lucasg/Dependencies

Я также игнорирую:

  • EFSCORE.DLL
  • WPAXHOLDER.DLL
Другие вопросы по тегам