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左右,如果使用静态链接也许能更小点,
再将这些文件打到一起,。。。。。一个小游戏就诞生了。