[转帖]Qt发布和打包软件_Android, Python及开发编程讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Android, Python及开发编程讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3161 | 回复: 1   主题: [转帖]Qt发布和打包软件        下一篇 
zhang.chen
注册用户
等级:少校
经验:1145
发帖:69
精华:1
注册:2013-10-31
状态:离线
发送短消息息给zhang.chen 加好友    发送短消息息给zhang.chen 发消息
发表于: IP:您无权察看 2013-11-6 9:41:31 | [全部帖] [楼主帖] 楼主

1.查看工程目录

这里会发现多了一个helloworld-build-desktop-Qt_4_8_1__4_8_1____目录,里面存放的就是编译生成的文件。这就是前面创建项目讲到的 “使用影子构建” ,如果没有选中这个,那么生成的文件就会和源码在同一个目录里。该目录的内容如下图所示。

1-18生成的目录.jpg

这里有两个目录:debug和release,分别用于存放debug方式和release方式编译生成的可执行文件。因为编译时默认是debug版本,所以现在release目录中是空的。打开debug目录,可以看到生成的可执行文件helloworld.exe如下图所示。

1-19debug目录.jpg

此时双击helloworld.exe文件,会弹出系统错误提示框,表明丢失了mingwm10.dll文件。如下图所示。

1-20丢失dll文件对话框.jpg

其实我们可以在Qt安装路径下找到该文件,我这里是在C:\Qt\4.8.1\bin中,将其复制到debug目录里面,然后还会提示缺少其他几个dll文件,依次将它们复制过来即可。完成后helloworld.exe就可以运行了。其实也可以先设置环境变量,以后在本机就可以直接运行生成的可执行文件了,这个可以参考下面的附录。

2.编译release版本程序 可以看到debug版本的可执行文件需要的dll文件是很大的,因为其中包含了调试信息。而我们实际发布软件是使用的release版本,下面我们就来编译release版本的helloworld程序。如果前面关闭了Qt Creator,那么需要在Qt Creator中再次打开helloworld项目,可以从欢迎模式的开发页面中打开最近使用的项目,也可以从开始菜单中打开,还可以将源码目录中的.pro文件直接拖入到QtCreator来打开。

然后将版本设置为release版本,也就是发布版本。如下图所示。完成后运行程序即可。

1-21设置生成release版本.jpg

最后,可以从release目录中将helloworld.exe复制出来,然后将需要的几个dll文件(跟debug版本的不是完全一样哦!)也复制过来,将它们放到一个文件夹中,打包进行发布。

补充:

如果要给生成的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




赞(0)    操作        顶端 
zhang.chen
注册用户
等级:少校
经验:1145
发帖:69
精华:1
注册:2013-10-31
状态:离线
发送短消息息给zhang.chen 加好友    发送短消息息给zhang.chen 发消息
发表于: IP:您无权察看 2013-11-6 9:42:28 | [全部帖] [楼主帖] 2  楼

北京联动北方科技有限公司



赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论