【Qt开发】Qt应用程序发布封装
2016-09-11 14:53
190 查看
问题:在使用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列表:
解决方法一:在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列表:
相关文章推荐
- windows下QT开发环境搭建与应用程序发布
- qt4:用eclipse开发qt应用程序
- 使用DELPHI的Package开发应用程序的发布注意
- NetBeans - 如何开发QT应用程序[转自NetBeans.org]
- 如何给Qt 开发的应用程序加图标
- 开发Qt应用程序的基本方法总结
- VC 2005 下如何编译安装并开发 QT 4.4.3 应用程序(转载)
- QT下应用程序开发
- Linux下应用程序开发:QT的内部进程通信
- [转]开发Qt 4应用程序的基本流程和方法之我见
- Linux下应用程序开发:QT国际化编程 -- 你的Linux技术站,技术支持站
- 如何静态编译发布Qt应用程序
- VC 2005 下如何编译安装并开发 QT 4.4.0 应用程序
- VC 2005 下如何编译安装并开发 QT 4.4.3 应用程序(转载)
- Linux下应用程序开发:QT的内部进程通信
- Qt应用程序的静态编译与发布
- Qt应用程序发布遇到的问题及其解决
- Linux下应用程序开发:QT中的多线程编程
- 使用ICU4C进行多国语言应用程序开发(1) —— 发布多国语言库
- 奇趣科技发布跨平台开发软件Qt 4.1新版本