QT程序发布问题

在Qt助手(assistant.exe)搜索关键字"Deploying an Application on Windows"

Mingw

首先,我们需要生成 release 模式的可执行程序(不少同学抱怨,一个小小程序却需要100多M的动态库,就是因为用的debug)

qmake
mingw32-make release

而后将 可执行文件 与 需要的动态库放到同一个文件夹下,一般需要

  • myprogram.exe
  • mingwm10.dll
  • libgcc_s_dw2-1.dll
  • qtcore4.dll
  • qtgui4.dll

有同学抱怨,动态库拷过去以后,程序报错 无法定位程序输入点于动态链接库QtCore4.dll上 ,这一般是由于系统中装了多套Qt的运行库,而你拷贝的不是Qt安装目录下的库所导致的。比如,当安装的是Qt SDK时,很容易导致这个问题,因为里面的Qt是mingw编译的,但里面的QtCreator是msvc编译的,所以不少人不小心就吧QtCreator带的Qt运行库拷过来了。

如果你不需要其他的插件,那么就可以发布程序了,然而不少同学抱怨jpg、gif、bmp 等格式的图片无法显示,这是因为 Qt 原生支持 png,而其他格式需要通过插件支持(插件在 %QTDIR%/plugins\imageformats 目录下)

你只需将需要的插件拷贝到可执行程序所在的目录下的 imageformats 目录下即可

  • myprogram.exe
  • imageformats\qjpeg4.dll
  • imageformats\qgif4.dll
  • ...

同样,如果你的程序需要gb2312、gbk编码支持,那么需要将 %QTDIR%\plugins\codecs 目录下的相应插件拷贝到可执行程序所在目录下的 codecs 目录下

  • myprogram.exe
  • codecs\qcncodecs4.dll
  • ...

建议:不妨多看看Qt安装目录下的plugins目录,熟悉这些插件分别是做什么的,你发布的程序需要哪些。

现在,程序可以发布了。你现在也可以通过 nsis 来制作一个安装包。

问题1:怎样生成release版本

解决:选择Build->Set Build Configuration->Release

问题2:生成的执行exe不能直接运行,需要将所需的库文件放在当前目录下

如果弹出:无法找到入口,说明你库文件没找对,

解决:

执行exe缺少哪个文件,就去拷哪个(或者使用Depends查看关系库)

不能用C:\Qt\2010.01\bin下的

应该选择C:\Qt\2010.01\qt\bin下的库文件

这样release版本就可以执行了,只有10M左右,如果使用静态链接也许能更小点,

再将这些文件打到一起,。。。。。一个小游戏就诞生了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值