проблемы с поведением WS2_32.dll между windows 10 и windows7 - PullRequest
0 голосов
/ 17 января 2019

Не нашел подходящего решения по существующим вопросам, поэтому задайте новый вопрос здесь. Мы используем log4cxx, который имеет WS2_32.LIB в качестве зависимости. WS2_32.LIB присутствует в Windows SDK версии 10.0.16299.0. При использовании этого log4cxx.dll на windows7 WS2_32.dll и все его зависимости загружаются правильно и приложение запускается нормально.

, но в среде Windows 10 WS2_32.dll ожидает наличие зависимых dll, таких как API-MS-WIN-CORE-CRT-L1-1-0.DLL, которые не являются частью windows10 или любого из Microsoft Visual C ++ Redistributable, что приводит к применению ошибка.

Разница в WS2_32.dll и его зависимостях между Windows7 и Windows10 отчетливо видна с помощью обходчика зависимостей.

WS2_32.dll в Windows 10: enter image description here

, тогда как WS2_32.dll на windows7 есть enter image description here

как показано здесь API-MS-WIN-CORE-CRT-L1-1-0.DLL не является зависимой DLL в Windows7, как в Windows 10, которая отсутствует в системе, что приводит к ошибке приложения.

Так каким должен быть способ успешного запуска приложения? Какие альтернативные зависимости должны быть предоставлены вместо WS2_32.LIB при компиляции log4cxx.dll, чтобы избежать этой проблемы в Windows 10? Также, где найти документацию о таких изменениях между версиями ОС Windows? Пожалуйста, предложите.

1 Ответ

0 голосов
/ 18 января 2019

Старый файлкольный файл.exe не поддерживает эти наборы API и показывает неверные данные.

используйте замену с открытым исходным кодом под названием Зависимости :

Зависимости - это переписывание устаревшего программного обеспечения Dependency Walker который был отправлен вместе с Windows SDK, но разработка которого остановилась около 2006 года. Зависимости могут помочь разработчикам Windows устранить неполадки их проблемы с загрузкой DLL.

enter image description here

...