Qt+Halcon在XP上构建和运行

​    XP是很老的系统了,微软都不支持,也很是有客户会用到XP系统,我们的软件支持Win10和Win7,就是不支持XP。这次我们遇到的这个客户不能更换系统,只能让我们的软件支持XP。

    让软件支持XP有可能比写软件本身都还要麻烦,主要是现在好多第三方库都不支持XP,所以软件改动特别大。

一、构建支持XP的QT环境

    Qt5目前有两个长期支持版本(Long Term Support)Qt5.6和Qt5.9;

    Qt从5.7版本及以后不再支持WinXP系统,即编译生成的exe文件无法在WinXP系统运行,若要支持xp,推荐最稳定方式qt5.5.+vs2010(曾生成的exe在xp sp3部署上千台),稍微激进+最新组合vs2015+qt5.6(传言仍然有人反馈xp依然会有莫名其妙问题);

    由于2020年qt要进入QT6版本,所以QT5的有些版本已经改变位置,改为

    http://download.qt.io/new_archive/qt/

    我这次选用的是Qt5.6.2+VS2015,下载地址如下,版本如下图所示

    http://download.qt.io/new_archive/qt/5.6/5.6.2/

Qt+Halcon在XP上构建和运行

    下载安装前应该先安装VS2015。

    在Pro文件加入一些内容,让程序支持XP。

win32 {    QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS,5.01    QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE,5.01    DEFINES += _ATL_XP_TARGETING#    QMAKE_CFLAGS += /D _USING_V120_SDK71_#    QMAKE_CXXFLAGS += /D _USING_V120_SDK71_#    LIBS += -L$$quote(C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib)#    INCLUDEPATH += $$quote(C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include)}

 

二、构建支持XP的Halcon环境

    Halcon高版本也不支持QT,只有Halcon12,Halcon11才支持,而12、11这两个版本和我现在用的19差别特别大,要改的东西相当多,而且12、11有些功能不支持,没办法只能将Halcon13编译一个支持XP的库,Halcon13和19接近,但也有些东西不支持,但是改动东西要少。

    这里我把编译好的库和头文件放到了网盘,有需要的可以下载。

    链接:https://pan.baidu.com/s/1PKrPz-kpBUdmhAmuBj4LRA

    提取码:0o6l

    下载后加入Halcon13的头文件和库。

INCLUDEPATH   += "$$PWD/Halcon/halcon13_x86_xp/include"INCLUDEPATH   += "$$PWD/Halcon/halcon13_x86_xp/include/halconcpp"#libsQMAKE_LIBDIR  += "$$PWD/Halcon/halcon13_x86_xp/lib"LIBS          += $$quote($$PWD/Halcon/halcon13_x86_xp/lib/halconcpp.lib)LIBS          += $$quote($$PWD/Halcon/halcon13_x86_xp/lib/halcon.lib)

三、部署程序运行环境

    先获取Qt运行的库,进入命令模式输入windeployqt.exe的路径+你的程序名。

D:\5.6.3\msvc2015\bin\windeployqt.exe myapp.exe

    然后就会自动生成qt依赖库。

    然后加入halcon13的dll。

    最后在XP上很有可能会缺少MSVC库,然后要下一个

    Visual C Redistributable for Visual Studio 2015,下载地址为

https://www.microsoft.com/zh-cn/download/details.aspx?id=48145

 

    更具需要下载程序并安装。

Qt+Halcon在XP上构建和运行

Qt+Halcon在XP上构建和运行

 

 

Qt+Halcon在XP上构建和运行

 

 

上一篇:起底 Windows 35 年发展史


下一篇:超能课堂(275):从1.0变成10,Windows系统35年变迁