问题:在使用Qt5.3.2编写程序并release,文件夹中已经添加了必要的dll,但在其他机子上运行程序失败,出现了下面的情况:

解决方法一:在C:\Qt\Qt5.3.2\5.3中进入mingw482_32文件夹,将plugins\platforms整个目录复制exe执行文件所在的文件夹目录中,程序即可运行。

以下是网上几个其他方法的总结:

解决方法二:复制你exe需要的qt插件,首先要在源程序中的main函数中加上QApplication::addLibraryPath(“./plugins”);

把C:\Qt\Qt5.3.2\5.3\mingw482_32\plugins\里的dll复制到exe执行文件目录就OK了。

比如程序在自己机子上运行正常,拷贝到其他电脑后一些图片无法显示可尝试这种方法。这时可能的解决方案是,进入exe文件所在目录底下新建文件夹imageformats, 然后去QT的plugins下imageformats文件夹下拷贝相应的图片编码的dll和lib。例如在程序中用到的图片是jpg格式的,就复制qjpeg.dll 和qjpeg.lib过去。

解决方法三:使用Process Explorer查看程序所使用的dll

Process Explorer是一个很有用的工具。由Sysinternals开发的Windows系统和应用程序监视工具,目前已并入微软旗下。不仅结合了Filemon(文件监视器)和Regmon(注册表监视器)两个工具的功能,还增加了多项重要的增强功能。包括稳定性和性能改进、强大的过滤选项、修正的进程树对话框(增加了进程存活时间图表)、可根据点击位置变换的右击菜单过滤条目、集成带源代码存储的堆栈跟踪对话框、更快的堆栈跟踪、可在 64位 Windows
上加载 32位 日志文件的能力、监视映像(dll和内核模式驱动程序)加载、系统引导时记录所有操作等。(来自百度百科的解释)

既然可以监视dll,那么在发布程序前,可以用Qt Creator运行将要发布的程序,在Process Explorer中查看exe使用的dll,一般来说,程序运行失败很可能就是少了对应的dll文件。

这是我用qt发布一个简单程序所需要的dll列表:

【Qt开发】Qt应用程序发布封装的更多相关文章

  1. 使用cocoa捕获dock栏中的“退出”事件,解决qt开发的应用程序退出异常的问题

    最近在移植一个QT开发的应用程序到mac平台,由于我们的应用在退出时需要释放一些资源,不然在mac系统会报崩溃事件,但是当用户使用dock栏上面的退出功能时,没有捕获到这个退出事件,导致无法正常退出. ...

  2. 将QT开发的界面程序封装成DLL,在VC中成功调用

    最近手头的一个项目需要做一个QT界面,并且封装成DLL,然后再动态调用DLL给出的接口函数,使封装在DLL内部的QT界面跑起来,在网上查了很多资料,今天终于成功了,经验不敢独享,因为CSDN给了我很多 ...

  3. 将QT开发的界面程序封装成DLL,在VC中成功调用(必须有消息循环,所以使用了QTWinmigrate,附CSDN可下载的Demo)

    最近手头的一个项目需要做一个QT界面,并且封装成DLL,然后再动态调用DLL给出的接口函数,使封装在DLL内部的QT界面跑起来,在网上查了很多资料,今天终于成功了,经验不敢独享,因为CSDN给了我很多 ...

  4. 分享我用Qt开发的应用程序【一】,附绿色版下载,以后会慢慢公布源码

    写在前面: 1.第一版的代码还有些烂,等功能开发齐全了,做一次重构,再慢慢分享代码 2.邮箱功能.自动升级功能还没有做,笔记功能和备忘功能是好用的,大家如果不嫌弃,可以先用起来 3.笔记功能目前还不能 ...

  5. 分享我用Qt开发的应用程序【二】在Qt应用程序中使用字体图标fontawesome

    为了使用简单,需要先写一个单件类,头文件的代码如下: 其中静态方法Instance保证IconHelper的实例全局唯一 (注意构造函数已经私有化了) #ifndefICONHELPER_H #def ...

  6. 1.QT开发第一个程序

    Ubuntu16.04安装QT5.8.0:http://www.cnblogs.com/dotnetcrazy/p/6725945.html QT5.8支持中文输入法(附带老版本的解决+不理想的情况解 ...

  7. Mac中QT程序发布

    基于Qt开发的应用程序进驻Mac App Store 最近摸索着将一个基于用Qt开发的App发布到Mac App Store,在网上查找相关资料的时候,发现很多文档都过期了,要有一些修改,所以想记录下 ...

  8. 【Qt开发】【ARM-Linux开发】 QT在ARM上显示字体的问题

    在PC机上利用QT开发的应用程序在设置字体时,在PC上运行,可根据自己的设置,字体随之变大或变小.而移植到ARM上运行时发现,显示字体与所设置的字体不用,字体普遍偏小.经过上网搜索发现,是环境变量字库 ...

  9. 【Qt开发】【VS开发】【Linux开发】OpenCV、Qt-MinGw、Qt-msvc、VS2010、VS2015、Ubuntu Linux、ARM Linux中几个特别容易混淆的内容

    [Qt开发][VS开发][Linux开发]OpenCV.Qt-MinGw.Qt-msvc.VS2010.VS2015.Ubuntu Linux.ARM Linux中几个特别容易混淆的内容 标签:[Qt ...

随机推荐

  1. H5实现手写功能

    html <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf- ...

  2. 【leetcode】1273. Delete Tree Nodes

    题目如下: A tree rooted at node 0 is given as follows: The number of nodes is nodes; The value of the i- ...

  3. jquery result属性 语法

    jquery result属性 语法 作用:result 属性包含由被指定事件触发的事件处理器返回的最后一个值,除非这个值未定义.大理石平台精度等级 语法:event.resul 参数: 参数 描述 ...

  4. #4 div1E Parentheses 括号匹配

    E - Parentheses Time Limit:2000MS     Memory Limit:131072KB     64bit IO Format:%lld & %llu Subm ...

  5. TensorFlow使用记录 (一): 基本概念

    基本使用 使用graph来表示计算任务 在被称之为Session的上下文中执行graph 使用tensor表示数据 通过Variable维护状态 使用feed和fetch可以为任意的操作(op)赋值或 ...

  6. cp:复制文件和目录

    cp 命令,主要用来复制文件和目录,同时借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能. cp 命令的基本格式如下:cp [选项] 源文件 目标目录/文件 选项: -a:相 ...

  7. 10.Python内置函数一览表

    为了提高程序员的开发效率,Python 提供了很多可以直接拿来用的函数(初学者可以先理解为方法),每个函数都可以帮助程序员实现某些具体的功能. 举个例子,在 Python 2.x 中 print 只是 ...

  8. Jmeter获取未来时间

    1.添加前置处理器:BeanShell PreProcessor import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  9. mysql报错处理:incompatible with sql_mode=only_full_group_by

    问题: 服务报错:incompatible with sql_mode=only_full_group_by,如下图所示: 分析: NLY_FULL_GROUP_BY是MySQL提供的一个sql_mo ...

  10. 缓存区溢出之slmail fuzzing

    这是我们的实验环境 kali 172.18.5.118smtp windows2003  172.18.5.117  pop3 110 smtp 25 本机 172.18.5.114 已经知道slma ...