(转)Qt+Halcon联合开发配置

转自:        Y忍冬草_ http://blog.csdn.net/y363703390    https://blog.csdn.net/y363703390/article/details/81539814

自我约束,自我管理 
不幸的人或有不同,但幸运的人大都有更好的自我约束、自我管理! 
1. 凡事提前一点 
2. 做事前梳理,做事后整理 
3. 多些正能量,少些抱怨 
4.多发现别人优点,并真诚的赞美 
5.坚持运动 
6.保持阅读习惯 
7.投资自己 
8.列出自己的心愿清单


 Halcon是一款优秀的商业版图像处理软件,但其在可视化方面有比较差的体验;而Qt在可视化和界面开发方面拥有很强大的功能和便捷性。自己之前做一些软件开发工作,现在又在利用Halcon进行图像处理算法开发,把两者结合使用,岂不是一件非常有趣的事情! 
 于是乎,从网上查了一下Qt+Halcon联合开发,发现很多写的不清楚或者就是说的比较复杂。其实Halcon自带的官方例程中已经给出了一个Qt+Halcon联合开发的案例,有兴趣的网友可以自己查看。 
位置(根据自己Halcon安装位子): 
这里写图片描述

鬼扯了那么多,什么博文,文笔还这么差,看着就吐吐吐…… 
言归正传

一.问题

Qt下配置Halcon的开发环境

二.解决方案

 在此,主要介绍2中Qt下配置Halcon开发环境: 
方法1: 
同Qt下配置OpenCV的开发环境一样,通过添加库实现。具体步骤“上图”: 
这里写图片描述 
这里写图片描述 
这里写图片描述 
这里写图片描述 

{

# *******************************Qt下配置Halcon*****************************
INCLUDEPATH += D:/Software/MVTec/HALCON-17.12-Progress/include\
               D:/Software/MVTec/HALCON-17.12-Progress/include/halconcpp

LIBS += -L$$PWD/../../../../Software/MVTec/HALCON-17.12-Progress/lib/x64-win64/ -lhalcon
LIBS += -L$$PWD/../../../../Software/MVTec/HALCON-17.12-Progress/lib/x64-win64/ -lhalconc
LIBS += -L$$PWD/../../../../Software/MVTec/HALCON-17.12-Progress/lib/x64-win64/ -lhalconcpp
LIBS += -L$$PWD/../../../../Software/MVTec/HALCON-17.12-Progress/lib/x64-win64/ -lhalconcppxl
LIBS += -L$$PWD/../../../../Software/MVTec/HALCON-17.12-Progress/lib/x64-win64/ -lhalconcxl
LIBS += -L$$PWD/../../../../Software/MVTec/HALCON-17.12-Progress/lib/x64-win64/ -lhalconxl
LIBS += -L$$PWD/../../../../Software/MVTec/HALCON-17.12-Progress/lib/x64-win64/ -lhdevenginecpp
LIBS += -L$$PWD/../../../../Software/MVTec/HALCON-17.12-Progress/lib/x64-win64/ -lhdevenginecppxl

}

懒得自己添加的,可以直接复制,之后将相关路径改为自己Halcon安装路径就OK

<span style="color:#000000"><code><span style="color:#880000 !important"># *******************************Qt下配置Halcon*****************************</span>
<span style="color:#009900 !important">INCLUDEPATH</span> += <span style="color:#009900 !important">D</span><span style="color:#009900 !important">:/Software/MVTec/HALCON-</span><span style="color:#006666 !important">17.12</span>-<span style="color:#009900 !important">Progress</span>/<span style="color:#000088 !important">include</span>\
               <span style="color:#009900 !important">D</span><span style="color:#009900 !important">:/Software/MVTec/HALCON-</span><span style="color:#006666 !important">17.12</span>-<span style="color:#009900 !important">Progress</span>/<span style="color:#000088 !important">include</span>/halconcpp

<span style="color:#009900 !important">LIBS</span> += -<span style="color:#009900 !important">L</span><span style="color:#4f4f4f !important">$$</span><span style="color:#009900 !important">PWD</span>/../../../../<span style="color:#009900 !important">Software</span>/<span style="color:#009900 !important">MVTec</span>/<span style="color:#009900 !important">HALCON</span>-<span style="color:#006666 !important">17.12</span>-<span style="color:#009900 !important">Progress</span>/lib/x64-win64/ -lhalcon
<span style="color:#009900 !important">LIBS</span> += -<span style="color:#009900 !important">L</span><span style="color:#4f4f4f !important">$$</span><span style="color:#009900 !important">PWD</span>/../../../../<span style="color:#009900 !important">Software</span>/<span style="color:#009900 !important">MVTec</span>/<span style="color:#009900 !important">HALCON</span>-<span style="color:#006666 !important">17.12</span>-<span style="color:#009900 !important">Progress</span>/lib/x64-win64/ -lhalconc
<span style="color:#009900 !important">LIBS</span> += -<span style="color:#009900 !important">L</span><span style="color:#4f4f4f !important">$$</span><span style="color:#009900 !important">PWD</span>/../../../../<span style="color:#009900 !important">Software</span>/<span style="color:#009900 !important">MVTec</span>/<span style="color:#009900 !important">HALCON</span>-<span style="color:#006666 !important">17.12</span>-<span style="color:#009900 !important">Progress</span>/lib/x64-win64/ -lhalconcpp
<span style="color:#009900 !important">LIBS</span> += -<span style="color:#009900 !important">L</span><span style="color:#4f4f4f !important">$$</span><span style="color:#009900 !important">PWD</span>/../../../../<span style="color:#009900 !important">Software</span>/<span style="color:#009900 !important">MVTec</span>/<span style="color:#009900 !important">HALCON</span>-<span style="color:#006666 !important">17.12</span>-<span style="color:#009900 !important">Progress</span>/lib/x64-win64/ -lhalconcppxl
<span style="color:#009900 !important">LIBS</span> += -<span style="color:#009900 !important">L</span><span style="color:#4f4f4f !important">$$</span><span style="color:#009900 !important">PWD</span>/../../../../<span style="color:#009900 !important">Software</span>/<span style="color:#009900 !important">MVTec</span>/<span style="color:#009900 !important">HALCON</span>-<span style="color:#006666 !important">17.12</span>-<span style="color:#009900 !important">Progress</span>/lib/x64-win64/ -lhalconcxl
<span style="color:#009900 !important">LIBS</span> += -<span style="color:#009900 !important">L</span><span style="color:#4f4f4f !important">$$</span><span style="color:#009900 !important">PWD</span>/../../../../<span style="color:#009900 !important">Software</span>/<span style="color:#009900 !important">MVTec</span>/<span style="color:#009900 !important">HALCON</span>-<span style="color:#006666 !important">17.12</span>-<span style="color:#009900 !important">Progress</span>/lib/x64-win64/ -lhalconxl
<span style="color:#009900 !important">LIBS</span> += -<span style="color:#009900 !important">L</span><span style="color:#4f4f4f !important">$$</span><span style="color:#009900 !important">PWD</span>/../../../../<span style="color:#009900 !important">Software</span>/<span style="color:#009900 !important">MVTec</span>/<span style="color:#009900 !important">HALCON</span>-<span style="color:#006666 !important">17.12</span>-<span style="color:#009900 !important">Progress</span>/lib/x64-win64/ -lhdevenginecpp
<span style="color:#009900 !important">LIBS</span> += -<span style="color:#009900 !important">L</span><span style="color:#4f4f4f !important">$$</span><span style="color:#009900 !important">PWD</span>/../../../../<span style="color:#009900 !important">Software</span>/<span style="color:#009900 !important">MVTec</span>/<span style="color:#009900 !important">HALCON</span>-<span style="color:#006666 !important">17.12</span>-<span style="color:#009900 !important">Progress</span>/lib/x64-win64/ -lhdevenginecppxl
</code></span>

方法2: 
该方法也不算是方法了,但却最简单实用。 
因为在安装Halcon的时候已经将Halcon的相关路径添加到系统环境变量中了,所以不需要像方法1一样一个个添加库文件。只需要将下面的内容Ctrl+C.pro文件中就OK了。 
这里写图片描述

# *************************Qt配置Halcon*****************************
# MacOS specific settings. Note that while dyld will search under
# /Library/Frameworks by default, the preprocessor/compiler/linker will not
# and need to be told explicitly.
macx {
  QMAKE_CXXFLAGS += -F/Library/Frameworks
  QMAKE_LFLAGS   += -F/Library/Frameworks
  LIBS           += -framework HALCONCpp
}
else {
  #defines
  win32:DEFINES += WIN32

  #includes
  INCLUDEPATH   += "$$(HALCONROOT)/include"
  INCLUDEPATH   += "$$(HALCONROOT)/include/halconcpp"

  #libs
  QMAKE_LIBDIR  += "$$(HALCONROOT)/lib/$$(HALCONARCH)"
  unix:LIBS     += -lhalconcpp -lhalcon -lXext -lX11 -ldl -lpthread
  win32:LIBS    += "$$(HALCONROOT)/lib/$$(HALCONARCH)/halconcpp.lib" \
                   "$$(HALCONROOT)/lib/$$(HALCONARCH)/halcon.lib"
}

<span style="color:#000000"><code><span style="color:#880000 !important"># *************************Qt配置Halcon*****************************</span>
<span style="color:#880000 !important"># MacOS specific settings. Note that while dyld will search under</span>
<span style="color:#880000 !important"># /Library/Frameworks by default, the preprocessor/compiler/linker will not</span>
<span style="color:#880000 !important"># and need to be told explicitly.</span>
macx {
  QMAKE_CXXFLAGS += -F/Library/Frameworks
  QMAKE_LFLAGS   += -F/Library/Frameworks
  LIBS           += -framework HALCONCpp
}
<span style="color:#000088 !important">else</span> {
  <span style="color:#880000 !important">#defines</span>
  win32:DEFINES += WIN32

  <span style="color:#880000 !important">#includes</span>
  INCLUDEPATH   += <span style="color:#009900 !important">"$<span style="color:#009900 !important">$(HALCONROOT)</span>/include"</span>
  INCLUDEPATH   += <span style="color:#009900 !important">"$<span style="color:#009900 !important">$(HALCONROOT)</span>/include/halconcpp"</span>

  <span style="color:#880000 !important">#libs</span>
  QMAKE_LIBDIR  += <span style="color:#009900 !important">"$<span style="color:#009900 !important">$(HALCONROOT)</span>/lib/$<span style="color:#009900 !important">$(HALCONARCH)</span>"</span>
  unix:LIBS     += -lhalconcpp -lhalcon -lXext -lX11 -ldl -lpthread
  win32:LIBS    += <span style="color:#009900 !important">"$<span style="color:#009900 !important">$(HALCONROOT)</span>/lib/$<span style="color:#009900 !important">$(HALCONARCH)</span>/halconcpp.lib"</span> \
                   <span style="color:#009900 !important">"$<span style="color:#009900 !important">$(HALCONROOT)</span>/lib/$<span style="color:#009900 !important">$(HALCONARCH)</span>/halcon.lib"</span>
}</code></span>

该配置针对各操作系统都可用。

三.参考

  • Halcon官方例程
  • 网上各位分享的网友,分享至上

猜你喜欢

转载自blog.csdn.net/WarGames_dc/article/details/89278463