代码之家  ›  专栏  ›  技术社区  ›  Asmor

dllnotfoundexception,但有dll

  •  30
  • Asmor  · 技术社区  · 16 年前

    所以我使用的是一个硬件随机数生成器的sdk,它提供了一个名为psyreg.dll的动态链接库来与之交互,以及一些使用动态链接库中方法的C源。

    它在过去曾经起过作用,但不知何故它已经停止了作用。我的手有点紧,因为我现在还不能接触到有问题的设备,所以我不能尝试很多东西…

    但奇怪的是。动态链接库就在那里,和以前一样。实际上,file.exists(“psyreg.dll”)返回true,我已经进行了双重检查,这与提供的C源导入它的方式完全相同,例如[dllimport(“psyreg.dll”)。

    有什么想法吗?

    5 回复  |  直到 8 年前
        1
  •  37
  •   Cleiton    16 年前

    可能是这个dll有一些依赖项没有注册或不在应用程序的同一文件夹中。

        2
  •  7
  •   cbuteau    10 年前

    在有问题的系统上打开dll http://www.dependencywalker.com/

        3
  •  1
  •   Joseph    16 年前

    也许您应该检查一下您是否期望得到DLL的特定产品版本,并确保产品版本仍然正确匹配。

        4
  •  1
  •   Slate    8 年前

    我遇到这个问题,用以下方法解决了:

    如果在/md下编译,就依赖于msvcr90.dll。 尝试用/mt编译代码。

    Project properties gt; C/C++ gt; Code Generation gt; Runtime Library: /MT

        5
  •  0
  •   Maghoumi    8 年前

    对于我的一个动态链接库(我们称之为 A )C正在崩溃,因为它声称找不到这个DLL( )(当它与可执行文件在同一文件夹中时)。

    结果发现问题是由 依赖于另一个dll(称之为 B ) 不在路上所以 需要时无法加载。自从 需要一大堆其他的动态链接库,解决方案是添加 的目录 PATH 环境变量。

    有趣的是,C是如何因错误而崩溃的 当事实上 找不到…