Qt 程序在Windows 下发布是本文要介绍的内容,不多说了,先来看内容,针对这个问题,其实 Qt 的 manual 中解释的已经比较清楚了。下面是我根据自己的理解和实验后写的东西,希望比Qt文档容易理解一点。
下面不涉及静态编译,只包含动态编译(也就是Qt默认的情况),只讲mingw编译环境下的发布
首先,我们需要生成 release 模式的可执行程序(app.exe)(不少同学抱怨,一个小小程序却需要100多M的动态库,就是因为用的debug)
而后将 可执行文件 与 需要的动态库放到同一个文件夹下,一般需要(这些都是在编译库里,即Qt4.X.X这样的版本内):
myprogram.exe
mingwm10.dll
libgcc_s_dw2-1.dll
qtcore4.dll
qtgui4.dll
如果你不需要其他的插件,那么就可以发布程序了,然而不少同学抱怨 jpg、gif、bmp 等格式的图片无法显示,这是因为 Qt 原生支持 png,而其他格式需要通过插件支持(插件在 %QTDIR%/plugins\imageformats 目录下)
只需将需要的插件拷贝到可执行程序所在的目录下的 imageformats 目录下即可。
imageformats\qjpeg4.dll
imageformats\qgif4.dll
当然还有其他的图片格式,如果有需要也可以拷贝。
同样,如果你的程序需要gb2312、gbk编码支持(即用到中文编码),那么需要将 %QTDIR%\plugins\codecs 目录下的相应插件拷贝到可执行程序所在目录下的 codecs 目录下
codecs\qcncodecs4.dll
codecs目录下还有其他国家的编码,根据需要添加。
建议:不妨多看看Qt安装目录下的plugins目录,熟悉这些插件分别是做什么的,你发布的程序需要哪些。
现在,程序可以发布了。你现在也可以通过 nsis 来制作一个安装包。