QT与Halcon联合编程环境配置【注意事项以及遇到的各种坑】

本文详细介绍了如何配置QT Creator与Halcon的联合编程环境,包括选择MSVC编译器,导入Halcon库文件,处理DLL缺失问题等。同时,文章列举了在编程过程中遇到的困难,如Qt5Core.dll丢失和错误0xc000007b,并提供了解决方案。
摘要由CSDN通过智能技术生成

Tip.先说环境配置步骤,再说遇到的各种疑难杂症。

Section 1:按照需求编写Halcon代码并导出c++代码

1.Halcon代码导出为C++格式

首先halcon这边先导出C++代码备用,将编写完成的halcon代码导出。示例如下:

Section 2:QT Creator初始创建项目之后的配置

1.QT与halcon联合编程时要选择MSVC编译器版本,MinGW版本会出错【由于halcon自身的链接库就是由VS的编译器编译生成的】;QT初始创建MainWindow项目时先初步编译一下进而生成Debug文件夹,便于后面将halcon.dll与halconcpp.dll放入Debug文件夹中。

2.项目名称.pro下添加库文件[halcon安装目录下的include和lib文件夹]

 3.在Qt工程文件中添加几个主要的库文件就可以了,其他的用得到少,具体的可以参考其他文章

 

 

#-----------------------添加进.pro工程文件-----------------
#-----------------------QT与halcon联合编程配置-------------
 INCLUDEPATH   += $$PWD/include
 INCLUDEPATH   += $$PWD/include/halconcpp

LIBS += $$PWD/lib/x64-win64/halconcpp.lib
LIBS += $$PWD/lib/x64-win64/halcon.lib

4.mainwindow.h的头文件中包含halcon相关头文件与命名空间

 5.初步在ui中绘制一个简单界面【在此以下界面较简单只为演示作用】

 6.在halcon安装目录下,如图文件夹下,找到halcon.dll和halconcpp.dll两个文件,复制到项目.exe同级目录下(在Debug文件里面)

 7.至此程序编译应该就没有问题了,最后将Halcon中导出的C++代码引入进来即可。

 

 

//Function:打开文件并读图显示在窗口中
Hlong WindID = (Hlong)ui->gv_Main->winId ();
    if (HDevWindowStack::IsOpen())
      CloseWindow(HDevWindowStack::Pop());
    SetWindowAttr("background_color","black");
    OpenWindow(0,0,ui->gv_Main->width (),ui->gv_Main->height (),WindID,"visible","",&hv_WindowHandle);
    HDevWindowStack::Push(hv_WindowHandle);
    //主体函数
    QString path = QFileDialog::getOpenFileName(this,"Slect Image","","(*.png *.jpg)");
    if(path=="") return;
    ReadImage(&ho_Image, HTuple(path.toStdString().c_str()));
    GetImageSize(ho_Image, &hv_Width, &hv_Height);
    SetPart(hv_WindowHandle, 0, 0, hv_Height-1, hv_Width-1);
    DispObj(ho_Image, hv_WindowHandle);

8.最终示例程序显示效果图

=============================================================

Section 3:联合编程摸索过程中遇到的疑难杂症:

1.解决Qt5Core.dll丢失 / QT 在QTcreator之外点击exe文件运行时出现的‘dll缺失’,‘无法定位程序输入点’,‘(0xc000007b)’

★解决方案:设置环境变量,在系统环境变量中加入你所采用的QT编译器目录bin文件夹的路径。

 2.至此真的完结撒花了,以上确实是我所遇到的各种困难,如果有帮助到你,希望能给我个点赞支持。

  • 17
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NCUTer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值