【问题标题】:Is libpng12.dll not compatible with Win7 (64-bits)?libpng12.dll 是否与 Win7(64 位)不兼容?
【发布时间】:2012-01-10 14:50:37
【问题描述】:

我在 VisualStudio 2008 中使用 libpng 包来读取 png 图像,而我的程序必须使用 libpng12.dll。我将 libpng12.dll 放在 Windows\System32 和 Windows\SysWOW64 中,并想使用 regsvr32.exe 来注册它,但它不起作用,所以我的程序也无法使用它。我该如何解决?提前谢谢!

【问题讨论】:

  • 你确定DLL需要注册吗?
  • regsvr32.exe 仅适用于 COM 组件。普通 dll 不需要(也不能)使用 regsvr32.exe 注册。
  • 请不要,我再说一遍,不要乱用 Windows 系统文件夹 - 这是众所周知的 DLL 地狱情况的原因。只需将 dll 放在可执行文件所在的同一文件夹中即可。不要忘记,机器上安装的其他应用程序可能需要与您的不同版本的 libpng12.dll。
  • @fefe - Wrong!

标签: c++ visual-studio-2008 dll regsvr32 libpng


【解决方案1】:

DLL 必须与 EXE 的位数相匹配。 64 位 EXE 只能使用 64 位 DLL,而 32 位 EXE 只能使用 32 位 DLL。 (排除进程外的 COM 组件,但这在这里无关紧要)。

顺便说一句,修复 DLL 问题的常用工具是Dependency Walker

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 2013-10-21
    • 2010-10-21
    • 1970-01-01
    • 2020-03-26
    • 2013-10-04
    相关资源
    最近更新 更多