halcon12在C#中二次开发编译没错,运行时报: 无法加载DLL"halcon”

勇哥把netMarketing类库改为halcon12,发现程序可以编译,但是运行起来报下面的错误。
看来和原来的halcon10还是有所区别。


image.png


下面的摘抄的网络上的资料:


Halcon使用没有问题,二次开发可以写程序,运行时候提示halcon相关模块丢失;

  1. 无法加载+DLL“halcon”:+找不到指定的模块。+(异常来自+HRESULT:0x8007007E)。

复制代码


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


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

image.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.dll复制到程序bin目录下,可以解决开篇的那个报告。

但是当代码导出后运行到  

HOperatorSet.OpenFramegrabber("DirectShow", 1, 1, 0, 0, 0, 0, "default", 8,

             "rgb", -1, "false", "default", "[0] USB2.0 UVC 1.3M Webcam", 0, -1, out hv_AcqHandle);

时总是报如下错误

HALCON error #8600: Dynamic library could not be opened in operator open_framegrabber

分析后发现是某个动态链接库无法打开,debug目录下缺少相应的动态链接库
至于少的是哪个dll,目前暂没完全搞清楚,不过,把下面图片目录中的全部dll复制到程序的bin目录下,就不会报错误了。

你可以尝试删除多余的dll反复运行程序,找到到底是哪一个dll是不可缺少的。
网上各人说法不同,如果你有发现,可以在本贴留言告诉勇哥。

另外,本文中所说的指定环境路径的方法肯定是可行的,这样就不用复制全部dll到程序bin目录,但是考虑到我们可能需要不安装halcon的情况下运行程序,所以就没有用这个方法。


image.png

本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2024年5月    »
12345
6789101112
13141516171819
20212223242526
2728293031
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864