QT32位,MSVC2013,32位HALCON12,在pro中配置lib和include:
INCLUDEPATH += "C:/MVTec/HALCON-12.0/include//"
INCLUDEPATH += "C:/MVTec/HALCON-12.0/include/halconcpp//"
LIBS += "C:/MVTec/HALCON-12.0/lib/x86sse2-win32/halcon.lib"
LIBS += "C:/MVTec/HALCON-12.0/lib/x86sse2-win32/halconcpp.lib"
LIBS += "C:/MVTec/HALCON-12.0/lib/x86sse2-win32/halconc.lib"
LIBS += "C:/MVTec/HALCON-12.0/lib/x86sse2-win32/halconcpp10.lib"
LIBS += "C:/MVTec/HALCON-12.0/lib/x86sse2-win32/halconcpp10xl.lib"
LIBS += "C:/MVTec/HALCON-12.0/lib/x86sse2-win32/halconcppxl.lib"
LIBS += "C:/MVTec/HALCON-12.0/lib/x86sse2-win32/halconcxl.lib"
LIBS += "C:/MVTec/HALCON-12.0/lib/x86sse2-win32/halconx.lib"
LIBS += "C:/MVTec/HALCON-12.0/lib/x86sse2-win32/halconxl.lib"
LIBS += "C:/MVTec/HALCON-12.0/lib/x86sse2-win32/halconxxl.lib"
LIBS += "C:/MVTec/HALCON-12.0/lib/x86sse2-win32/hdevenginecpp.lib"
LIBS += "C:/MVTec/HALCON-12.0/lib/x86sse2-win32/hdevenginecpp10.lib"
LIBS += "C:/MVTec/HALCON-12.0/lib/x86sse2-win32/hdevenginecpp10xl.lib"
LIBS += "C:/MVTec/HALCON-12.0/lib/x86sse2-win32/hdevenginecppxl.lib"
LIBS += "C:/MVTec/HALCON-12.0/lib/x86sse2-win32/hdevenginex.lib"
LIBS += "C:/MVTec/HALCON-12.0/lib/x86sse2-win32/hdevenginexxl.lib"主要问题:
1、QT和HALCON版本位数不匹配,一定要统一到一个版本。
如果HALCON装了64位之后又补装了32位,测试发现也不行。只能单独装32位的HALCON才能和32位的QT配套使用。
2、MVTec的安装路径最好不要有空格,如果有空格,可以像上面的代码一样使用双引号""来标记路径。
如果没有空格,可以不使用"",直接使用反斜杠的路径,导入库。
3、有关QT的任何文件路径不能有中文。
4、上述代码,如果使用
LIBS += "C:/MVTec/HALCON-12.0/lib/x86sse2-win32//"
代替分别导入各个lib文件,则会显示找不到.obj文件的错误。
5、电脑装了vs2012,发现不管怎么导入文件,一旦加入
#include "HalconCpp.h"则vc2011里的winapifamily.h里的各个标识符都会显示“未声明”,没能解决。
但是在有vs2010的环境下,搭建QT+HALCON12就没有问题。
上述方法本人亲测可用。欢迎各位大神补充~~~