• 完美解决HALCON C#编程目标平台冲突问题


    完美解决HALCON C#编程目标平台冲突问题

     
     
    楼主#
    更多发布于:2016-11-23 10:06
     
     
    背景: 
    目标机器工控机使用11.0.1 32位Halcon 原因你懂的。开发环境Win10 X64 + VS2015  + Halcon 11.0.3 X64 & X86 


    问题1: 
    开发机器上开发Halcon程序,目标平台只能使用AnyCPU  或者 X64,使用X86就不行,程序会自动崩溃无提示。单步跟踪会在这里出错: 
                this.hWindowControl1 = new HalconDotNet.HWindowControl(); 
    更多描述见我以前的一个求助帖子: 
    http://www.ihalcon.com/read-6410.html 
    C#添加Halcondotnet.DLL目标平台设为X86就出错 

    每次调试都是使用AnyCPU模式,然后,通过了,再换成X86,生成程序放到工控机。这种操作方法看起来没问题,而某些库,比如现装的一个相机库,只能使用X86模式,导致开发机器上就不能同时调试涉及相机和HALCON的程序。开发库目标平台冲突,没办法啊,每次调试这个的时候先把那个卸载了。卸载Dll引用,添加Dll引用,烦死了。 


    问题2: 
    如果工控机上使用11.0.1 版本Halcon 安装的时候勾选了X64 Verson。 C#是不能使用Halcon的,能编译,不能启动,程序会自动崩溃无提示。单步跟踪会在这里出错: 
                this.hWindowControl1 = new HalconDotNet.HWindowControl(); 




    问题分析与解决: 
    Halcon版本不对,对于问题1,是使用了X64版本的Halcon,可是电脑上明明X86  X64都装了,halcondotnet.dll文件也就一个,没有版本之分。原来环境变量里有个字段HALCONARCH被设为了x64-win64,它表示使用的版本,将其设为x86sse2-win32,就可以使用X86版本halcondotnet.dll。 


    Dll版本在这里切换。问题2就迎刃而解,11.0.1X64版本Halcon是不能使用,(you know why),只能使用X86版。然而Halcon在安装了X64和X86版的时候HALCONARCH默认设为了X64模式,导致不可用,解决这个问题,重装Halcon,不勾选X64,或者将HALCONARCH,改为x86sse2-win32 


     





     



    最后: 
    这个问题,不知道是不是大家早就知道了,反正困扰我好久了,:) 

    C++过来的机器视觉新手,望多交流。

    最新喜欢:

    likooooolikooo...tangmtangm
     
     

     
    xingziying
    专家
    专家
    • 最后登录2017-03-30
    • 发帖数124
    • 金币3023枚
    • 贡献勋章0枚
    • 社区居民
    • 忠实会员
     
     
    沙发#
    发布于:2016-11-24 09:53
     
    支持一下,有问题有解决方法!
  • 相关阅读:
    在二元树中查找和为某一值的所有路径
    求整数的二进制表示1的个数
    Javascript AJAX 解析XML 兼容FIREFOX/IE
    DOM解析XML笔记
    Linux c 共享内存
    C Socket 发送/接收数据结构
    Linux c 获取系统内存
    7.5备忘
    linux c 唤醒进程 获取子进程结束状态
    7.1-7.2备忘
  • 原文地址:https://www.cnblogs.com/qqhfeng/p/6649150.html
Copyright © 2020-2023  润新知