Romi-知行合一

轻轻的风轻轻的梦,轻轻的晨晨昏昏, 淡淡的云淡淡的泪,淡淡的年年岁岁。
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

[转载] Qt程序在Windows下的mingw发布

Posted on 2012-03-10 13:37  romi  阅读(1367)  评论(0编辑  收藏  举报

    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 来制作一个安装包。