一 ).编译release版本程序
qt默认是debug版本的,如果要发布,我们要选择release版本。debug版本的可执行文件需要的dll文件是很大的,因为其中包含了调试信息。
二 ) 运行程序,查看依赖项。
推荐软件:process explorer.
使用方法:打开process explorer程序,点击:查看->底部窗格视图->动态库。
然后运行需要打包的程序,在process explorer中选中指定程序就可以查看动态库依赖项。
将需要的动态库复制到应用程序目录。
三 ) Qt自带的插件
打包成功后,放到其他电脑执行,
遇到这个问题:This application failed to start because it could not find or load the Qt platform plugin "windows".
解决方法:把Qt\Qt5.1.1\5.1.1\msvc2010\plugins目录下需要的platforms、sqldrivers文件夹直接拷贝过去使用。
相关资料:
http://blog.163.com/lijiji_1515/blog/static/1268774462009103103458507/
很多情况下,我们的程序还依赖Qt带的一些插件,比如图像格式的支持或数据库驱动支持等。 这些插件需要放在plugins的特定子目录下, 如图像格式插件在plugins\imageformat下. Qt搜索插件的默认路径是QTDIR\plugins, 这个路径已经写入了Qt库中, 但我们可以通过以下几种方法来override这个路径。
- 编辑qt.conf文件,推荐的方法。
- 用前面提到的QApplication::addLibraryPath函数
- 使用第三方的工具修改QtCore库里写入的路径
Qt文档里有一篇专门写插件的文章,如果你在编译和发布插件时遇到了问题,参考 How to Create Qt Plugins
四 )最后,可以从release目录中将可执行程序复制出来,然后将需要的几个dll文件也复制过来,将它们放到一个文件夹中,打包进行发布。
补充:
如果要给生成的exe可执行文件更换一个自定义图标,可以这样做:
1.在项目中添加一个myapp.rc(名字可以随意)文件,然后在里面输入下面一行代码:
IDI_ICON1 ICON DISCARDABLE “appico.ico”
这里的appico.ico就是自己的.ico图标文件;
2.在.pro项目文件中添加下面一行代码:
RC_FILE = myapp.rc
3.重新编译
原文:http://bbs.qter.org/forum.php?mod=viewthread&tid=5&extra=page%3D3%26filter%3Dauthor%26orderby%3Ddateline%26orderby%3Ddateline