在动态链接库错误中找不到过程入口点

更新 Mar 18, 2021

适用于

软件

  • LabWindows/CVI
  • LabWindows/CVI Runtime

操作系统

  • Windows

问题详述

  • 我已经开发了LabWindows / CVI应用程序,可以在我的开发计算机上很好地运行。但是,当我尝试在目标计算机上运行应用程序时,收到错误消息:
     The procedure entry point [...] could not be located in the dynamic link library [...].dll.
  • 升级操作系统后,当我尝试使用LabWindows / CVI可执行文件时,出现以下错误:

解决方案

此错误有多种可能的原因,每种都有各自的解决方案,如下所示:

使用比开发环境旧的LabWindows / CVI运行引擎版本:

如果目标计算机上安装的LabWindows / CVI运行引擎的版本早于开发中使用的LabWindows / CVI环境的版本,则运行引擎可能无法找到动态链接库(.dll文件)。为避免这种情况,请下载LabWindows / CVI运行引擎的版本,该版本至少与开发环境的版本相同。

LabWindows / CVI运行时引擎冲突:

尽管可以在系统上安装多个版本的LabWindows / CVI开发环境,但是在引用.dll文件时,具有多个已安装版本的LabWindows / CVI运行引擎会导致冲突。为了缓解这种情况,请使用NI Package Manager或系统上的LabWindows / CVI Run-Time Engine的最新版本来卸载,如果没有安装Package Manager ,请添加或删除程序

.dll文件的不同副本存在于内存中:

LabWindows / CVI有一个搜索顺序,用于对目录进行优先级排序以检查.dll文件。因此,此错误可能是由于LabWindows / CVI在预期版本之前找到了.dll文件的修改副本而引起的,该版本可能不包含相同的功能。为了避免这种情况:
1.在文件资源管理器中使用Windows搜索来搜索错误中列出的.dll的副本。
2.使用大小作为参考,验证.dll文件是否相同。
3.如果找到不同的版本,则用所需的文件版本替换重复的文件。

Windows升级中对.dll文件内容的更改:

如果在升级操作系统后出现问题,则可能是在升级过程中更改了C:\ Windows \中所引用的.dll文件副本的内容。您可以使用LabVIEW的调用库功能节点通过以下方法确定是否已从.dll文件中删除了所需的功能:
1.将“调用库功能节点”放置在框图中。该节点位于功能面板“连接性»库和可执行文件”下
2.右键单击该节点,然后选择配置
3.使用浏览按钮导航到要检查的.dll文件的位置。
4.使用功能名称下拉菜单检查.dll文件中包含的功能。
如果该功能已从.dll文件中删除,则需要从以前的操作系统导入.dll文件的副本,并将其与可执行文件一起分发。通过在安装程序中包含.dll文件和可执行文件,可以确保将应用程序部署到的每台计算机都具有.dll文件的版本,该版本包含应用程序中调用的功能。