开启左侧

[HALCON文档] 根本解读:无法加载+DLL“halcon”:+找不到指定的模块

[复制链接]
Criss 发表于 2018-1-12 10:22:49 | 显示全部楼层 |阅读模式
这个问题的根本原因在于系统中无法检测到halcon的配置信息!出现这个问题有下面两种情况
1.安装的时候提示无法写HKLM,从根本上把环境变量没有添加进去;
TIM图片20180112102234.png
2.Halcon使用没有问题,二次开发可以写程序,运行时候提示halcon相关模块丢失;
  1. 无法加载+DLL“halcon”:+找不到指定的模块。+(异常来自+HRESULT:0x8007007E)。
复制代码


问题解决1:
单纯的问题1,这个可能是由于不是以管理员方式安装导致的权限不够无法操作注册表所致,安装后不影响正常使用Halcon;
但是做二次开发后会出现模块丢失,可以尝试本站的版本切换工具,以管理员方式运行再次切换写入注册表试试,一般可以解决。

问题解决2:
简单解决:把缺少的模块dll(如halcon.dll、halcondotnet.dll)放到运行目录,可以解决。但是每个工程都要单独进去(不推荐)。
看到有的论坛说把halcon.dll这些放到system32下面去,其实halcon在安装的时候已经给你配置好了路径了,一般没有必要这样做。
(你想想你是客户,装个软件,遇到错误这么麻烦去解决,客户心里怎么想?)
这个问题核心就是因为halcon的runtime没有找到,那么runtime版本就是为了在非开发电脑上使用安装的,那么runtime做了什么事情呢?
它不是把halcon这些依赖放到system32下面,而且把系统支持匹配到全局里面去,也是下面的根本解决方法,不需要动Halcon任何文件。


那么我们就来说是dll加载顺序(依次查找,全部找完都没有就提示dll找不到):
1.应用程序EXE所在的同一目录;
2.进程的当前工作目录,通过API函数GetCurrentDirecory()来获取;
3.Windows系统目录,C:\Windows\system32,通过函数GetSystemDirecory()来获取;
4.Windows目录,如:C:\Windows,通过GetWindowsDirectory()来获取;
5.列在Path环境变量中的一系列目录;


根本解决方法:
把Halcon运行支持目录添加到系统环境配置中去(windows系统环境支持都需要在PATH目录),因为这个目录里面还有很多采集的库需要依赖,特别很多人写halcon的相机采集的时候,其实整个目录里面的dll都是需要依赖的,也就是Runtime内容,所以上面那种简单解决不能有效解决hAcqGigeVision.dll这种缺少,你要拷贝好多依赖的把整个bin都拷贝到system32下面去?没必要。
Win10打开设置:此计算机->右键属性->系统“高级系统设置”->系统属性->高级->底部“环境变量(N)”
QQ截图20180112103709.png
比如现在的Halcon安装目录为:
  1. D:\Program Files\MVTec\HALCON-12.0\bin\x86sse2-win32;
复制代码

那么对应的环境变量代码为:
  1. %HALCONROOT%\bin\%HALCONARCH%;
复制代码

把上面这句代码添加到环境变量PATH目录中即可,记得该句前面和后面的分号不可少,然后重启即可解决(推荐方式)。

如果这个变量不能被实际的路径代替,请直接把下面的代码放到PATH目录,不过就不能多版本切换使用了,因为每次都要手动改。(不推荐方式)
  1. D:\Program Files\MVTec\HALCON-12.0\bin\x86sse2-win32;
复制代码

也有可能环境变量存在了Halcon的配置信息,但是还是不行?很有可能安装的目录含有中文或者其他符号识别不了等等原因,那么只能采取简单解决方案了。

最新版本的Halcon版本切换助手已经加入了环境变量runtime的自动修复,修复完成后请重启计算机!

知足常乐 发表于 2018-1-13 14:11:28 | 显示全部楼层
留着备用
godsayyou 发表于 2018-3-14 08:41:21 | 显示全部楼层
多谢分享~~~~~~~~~~~
阿灿爱吃鱼 发表于 2018-4-12 22:00:36 | 显示全部楼层
zhu大爷,在外跟项目,就遇到这问题呀{:1_325:}
jiangehaha 发表于 2018-6-6 14:35:17 | 显示全部楼层
非常感谢,刚碰到此问题,按楼主的方法完美解决!!
SOYOUNG 发表于 2018-8-4 20:37:40 | 显示全部楼层
jiangehaha 发表于 2018-6-6 14:35
非常感谢,刚碰到此问题,按楼主的方法完美解决!!

求教,改哪里的环境变量总体的,从哪里点出来的环境变量?
 楼主| Criss 发表于 2018-8-4 20:54:57 | 显示全部楼层
SOYOUNG 发表于 2018-8-4 20:37
求教,改哪里的环境变量总体的,从哪里点出来的环境变量?

建议亲使用Halcon切换助手,配置Halcon安装路径即可,开启后程序会自动给你修复好环境的,无需手动修复,修复好了直接重启以后就不需要再设置了,软件全程自动监测和解决!
Mr.小海。 发表于 2018-8-17 11:02:16 | 显示全部楼层
出现了这个问题,正在调试。感谢分享。
zfxmail 发表于 2018-8-22 15:47:13 | 显示全部楼层
帮助解决了一个VS中相机启动总是异常的问题。现在想明白是为什么了,安装时出现了PATH错误,采用了跳过。虽然HALCON也能运行
mojishi 发表于 2018-11-16 22:29:23 | 显示全部楼层
解决了  谢谢   谢谢   啦啦啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表