标签: 

 1622人阅读 (1)  

category_icon.jpg 分类:

编程(2) arrow_triangle%20_down.jpg

开发环境win7 + vs2013 + Qt5

目标机器:xp,没有安装vs和Qt

首先将EXE文件即其依赖dll放入同一文件夹,拷贝到目标机器上,双击运行,出现错误1

1、“exe不是有效的Win32程序,如图”

Vs2013支持xp环境的程序,不过得设置一下。方法如下:

在vs2013中,在工程名上点击右键-》属性-》配置属性-》常规-》平台工具集,选择xp项,如下图

系统差异问题解决,第二个就是vs编译环境问题。

 

2、“没有找到MSVCR120.dll,因此这个应用程序未能启动,重新安装应用程序可能会修复此问题”

       原因在于缺少vs2013程序环境,一种方法是根据提示却上什么dll文件,就下载并将其拷贝到“C:\Windows\System32”中,第二种方法是到微软网站下载Visual C++ RedistributablePackages for Visual Studio 2013,链接:

接下来就是Qt5的环境问题,此问题要复杂一点儿,之前也没接触,故花的时间略多。

 

3、Qt5,“this application failed tostart because it could not find or load the Qt platform plugin “windows””

出现此问题可能原因有两个:

第一是EXE同文件夹中缺少libEGL.dlllibGLESv2.dlldebug版本程序使用libGLESv2d.dll),将这两个文件考入文件夹

第二个Qtwindows下运行必须要qwindows.dll文件,此文件在“Qt\Qt5.3.2\5.3\msvc2013\plugins\platforms”路径下,但不能类似前面处理方式一样将qwindows.dll文件拷贝到EXE目录,这和Qtplugins的加载方式有关。解决步骤如下:

a)       在main函数开头加入下面语句

       QApplication::addLibraryPath("./plugins");

b)       在EXE目录中新建platforms文件夹,将qwindows.dll文件拷入

当然这里因为我只用到了qwindows.dll,如果还用到其他的plugins也得一起拷进去。

这个问题可以采用qt.conf解决,但我没有看过,可以参考Qt官网的资料