【问题标题】:issues with WS2_32.dll behavior between windows 10 vs windows7windows 10 与 windows7 之间的 WS2_32.dll 行为问题
【发布时间】:2019-01-17 17:36:14
【问题描述】:

没有找到任何适合现有问题的解决方案,所以在这里提出新问题。 我们使用具有 WS2_32.LIB 作为依赖项的 log4cxx。 WS2_32.LIB 存在于 Windows SDK 版本 10.0.16299.0 中。 在 windows7 WS2_32.dll 上使用这个 log4cxx.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 之间的依赖关系通过依赖项步行器清晰可见。

Windows 10 上的 WS2_32.dll:

而 windows7 上的 WS2_32.dll 是

如此处所示 API-MS-WIN-CORE-CRT-L1-1-0.DLL 不是 windows7 中的依赖 dll,而它在 windows 10 中不存在于系统中,导致应用程序错误。

那么应该怎样才能让应用程序成功运行呢?在编译 log4cxx.dll 以避免 Windows 10 中出现此问题时,应提供什么替代依赖项而不是 WS2_32.LIB?另外在哪里可以找到有关 Windows 操作系统版本之间此类更改的文档? 请提出建议。

【问题讨论】:

  • 旧的depends.exe显示错误数据的问题得到解答了吗?
  • 我现在投票决定以“不清楚所问的内容”结束这个问题,因为如果我的回复没有回答,我仍然不知道您的问题是什么
  • 嘿真的很抱歉,由于一些个人问题,我无法回复。您的新依赖项步行器指向 api-ms-win-core-crt-l1-1-0.dll -> C:\Windows\SysWOW64\ntdll.dll 没有给出清晰的图片,我的应用程序在搜索时仍然失败系统中不存在的dll

标签: windows-7 visual-studio-2017 windows-10 log4cxx


【解决方案1】:

旧的depends.exe不支持API sets,显示错误数据。

使用名为Dependencies的开源替代品:

Dependencies 是对旧版软件 Dependency Walker 的重写 它是随 Windows SDK 一起提供的,但它的开发停止了 2006 年左右。依赖项可以帮助 Windows 开发人员进行故障排除 他们的 dll 加载依赖问题。

【讨论】:

  • 嘿,谢谢您的回复。但这并不能解决我的问题,我的问题仍然有效。使应用程序成功运行的方法应该是什么?在编译 log4cxx.dll 以避免 Windows 10 中出现此问题时,应提供哪些替代依赖项而不是 WS2_32.LIB?
  • 贴出你程序的错误信息,我还是没看出你的问题是什么
  • 在程序中加载 dll 时失败,因为在 Windows 10 环境中无法找到 API-MS-WIN-CORE-CRT-L1-1-0.DLL。相同的程序在 Windows 7 中工作,因为它不会在那里寻找这个 dll。
猜你喜欢
  • 1970-01-01
  • 2018-01-02
  • 1970-01-01
  • 1970-01-01
  • 2020-05-14
  • 2019-07-22
  • 2016-01-23
  • 1970-01-01
  • 2017-01-06
相关资源
最近更新 更多