前提:
很多童鞋开发完程序后,到了客户电脑上只带了其中使用的dll,结果发现提示模块丢失或无法启动,那么一般就是依赖的dll没有加载。
由于每个人写的程序不一样,调用的依赖也会有区别,那么就需要使用以下介绍的方法来进行运行环境搭建。
一般不需要在每个电脑上安装完整的halcon,安装其中需要的dll即可。
此文内容基于安装的halcon创建运行时支持,是目前最有效也是必然可以的一种配置。
以下提供三种方式,其中二和三是自定义设置,请根据实际情况选择。
方式一.需要运行使用(非开发)
可以安装Halcon自带的runtime包,自带全部依赖dll,高版本一般有提供,没有的话就采取第二、三种方法。
方式二.diy必须环境
拷贝halcon.dll所在目录的所有dll文件和自己软件的exe到新电脑的指定目录(尽量用英文目录名)下。
大概有类似以下几个:
- halcon.dll
- hcanvas.dll
- libiomp5md.dll
- mvloglib.dll
- halconcpp.dll //C++写的程序需要带
- halcondl.dll //深度学习的版本需要带
复制代码
一般情况下可以直接运行,可能会有些错误,记得打印出来或打印到日志文件方便分析。
如果是试用授权方式,请看下面方式(和谐的库请忽略):
*.dat授权文件放exe同级不行的,我们简单点创建一个用户(系统)环境变量:HALCON_LICENSE_FILE,然后将*.dat文件所在目录(非完整文件路径)指定进去就可以了。
软件正常运行后,删除所有的dll文件,这时候删除掉的就是没有用到的,删不掉的就是软件需要的依赖文件,以后就选择这几个dll即可。
方式三.diy完全环境(支持试用授权方式)
3.1 在没有安装Halcon的电脑上想运行Halcon环境,那么就必须把依赖的文件拷贝过去。
请打包以下文件夹(我们以Halcon24.05_x64-win64为例):
- D:\Program Files\MVTec\HALCON-24.05-Progress\bin\x64-win64
- D:\Program Files\MVTec\HALCON-24.05-Progress\genicam
- D:\Program Files\MVTec\HALCON-24.05-Progress\help
- D:\Program Files\MVTec\HALCON-24.05-Progress\license
复制代码
bin就是主要的dll环境
(如果你用了自带的相机采集就必须把这些采集库类似hAcqGigeVision2.dll带上,GigeVision2需要GenICam协议文件的支持,注意带上)
最下面两个一个是帮助文档,另外一个是授权文件(其他方式可能无需这个目录支持)。
3.2 将四个目录拷贝到其他电脑上,比如C:\Windows\HalEnv下面(这个文件夹是可以隐藏的)。
那么现在的路径就是:
- C:\Windows\HalEnv\bin\x64-win64
- C:\Windows\HalEnv\genicam
- C:\Windows\HalEnv\help
- C:\Windows\HalEnv\license
复制代码
3.3 其他电脑上下载Halcon切换助手,然后打开HSA.exe添加新版本:
然后进入软件后会提示找不到环境变量等等,不用管,进入软件界面配置下基础参数(例程和图像目录缺失不用管)直接切换到识别的版本即可。
3.4 切换完成以后关闭切换助手(部分电脑可能需要重启),然后再次打开检测环境,可能需要修复运行时,然后就可以愉快的去跑程序了!
3.5 注意开发HALCON的版本和C#/VC++里面HALCON版本一定要对应哦!
3.6 该环境需要删除自己软件下的halcon.dll相关库(C#写的halcondotnet.dll需要保留,其他的都不用带),避免冲突!
3.7 如果还是提示halcon加载有问题,使用Halcon切换助手,选择"修复运行时"后再次测试,一般情况下没有其他的halcon.dll干扰都没问题。
|