完美解决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++过来的机器视觉新手,望多交流。

最新喜欢:

likooo...tangm

 
 
 
专家

  • 最后登录2017-03-30
  • 发帖数124
  • 金币3023枚
  • 贡献勋章0枚
 
 
沙发#

发布于:2016-11-24 09:53

 
支持一下,有问题有解决方法!

完美解决HALCON C#编程目标平台冲突问题的更多相关文章

  1. 完美解决EditText和ScrollView的滚动冲突(上)

    在网上搜了一下EditText和ScrollView的滚动冲突,发现差点儿全部的解决方式都是触摸EditText的时候就将事件交由EditText处理,否则才将事件交由ScrollView处理.这样确 ...

  2. 【转】完美解决Python与anaconda之间的冲突问题

    本文转自:https://blog.csdn.net/sinat_41898105/article/details/80660332 anaconda指的是一个开源的Python发行版本,其包含了co ...

  3. 完美解决Python与anaconda之间的冲突问题

    anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项.因为包含了大量的科学包,Anaconda 的下载文件比较大(约 515 MB),如果 ...

  4. 解决distinct与order by 的冲突

    sql="select distinct id from test order by otherfield desc" 需要找到不同的id,同时又想让记录按fbsj排序.但是这样一 ...

  5. Django与Vue语法冲突问题完美解决方法

    当我们在django web框架中,使用vue的时候,会遇到语法冲突. 因为vue使用{{}},而django也使用{{}},因此会冲突. 解决办法1: 在django1.5以后,加入了标签: {% ...

  6. (转载)Android滑动冲突的完美解决

    Android滑动冲突的完美解决 作者:softwindy_brother 字体:[增加 减小] 类型:转载 时间:2017-01-24我要评论 这篇文章主要为大家详细介绍了Android滑动冲突的完 ...

  7. [Linux实践] macOS平台Homebrew更新brew update卡死,完美解决

    [Linux实践] macOS 平台 Homebrew 更新 brew update 卡死,完美解决 版本2020.01.05 摘要: 使用brew install [软件包]安装软件包时,卡在Upd ...

  8. QT5.7.0在win10下使用visual studio 2015编译(目标平台 xp)

    环境:win10+vs2015+QT5.7.0 目标:编译出能在windows xp上运行的QT 通过baidu和bing找出来的结果没有一个能成功运行,大部分都能编译成功,并完美解决“exe不是有效 ...

  9. libcurl使用easy模式阻塞卡死等问题的完美解决

    引言: 由于要在android手机测进行DM开发, 其中最重要的就是FUMO和SCOMO下载, 下载使用的是linux开源库libcurl. 于是就把libcurl的使用研究了一遍, 有些心得, 并解 ...

随机推荐

  1. UI-定时器与动画使用总结

    #pragma mark - 定时器   ******************************************************************************* ...

  2. 编写自己的validate校验框架原理(转)

    原文链接:http://blog.csdn.net/a973893384/article/details/51517388 具体思路: 我们使用自定义注解实现.然后需要解决的是两个问题: 1是如何扫描 ...

  3. windows7自动登录后锁定 & 其他VBS

    首先设置自动登录(原已设置登录密码),在开始菜单搜索框输 入 “netplwiz” 按 回车,打开高级用户控制面板,然后取消对“要使用本机,用户需输入用户名和密码(E)”项的勾选,系统弹出窗口要求输入 ...

  4. http keep - alive 与 长连接

    http1.0 2.0 1.1区别 你可以把 WebSocket 看成是 HTTP 协议为了支持长连接所打的一个大补丁,它和 HTTP 有一些共性,是为了解决 HTTP 本身无法解决的某些问题而做出的 ...

  5. Node.js 问题集合

    使用node合并多个接口, 最后获取数据慢的问题                暂时没解决方法 pm2 访问 ip 记录到日志                                      ...

  6. 用js 创建  简单查找 删除 二叉树

    <!DOCTYPE html> <html> <body> <canvas id="myCanvas" width="2000& ...

  7. 深入浅出Eclipse Modeling Framework (EMF)

    Eclipse Modeling Framework (EMF),简单的说,就是Eclipse提供的一套建模框架,可以用EMF建立自己的UML模型,设计模型的XML格式或编写模型的java代码.EMF ...

  8. C++ Primer 第四版中文版

    C++Primer是C++的经典教程. 开始时间:2014-08-10 完成时间:2014-08-28 学习成果:基础语法+

  9. INIT: vesion 2.88 booting

    /***************************************************************************** * INIT: vesion 2.88 b ...

  10. sublime 非常好用的注释工具

    Sublime在进行前端开发时非常棒,当然也少不了众多的插件支持,DocBlocker是在Sublime平台上开发一款自动补全代码插件,支持JavaScript (including ES6), PH ...