当前位置: 代码迷 >> QT开发 >> qt程序打包有关问题
  详细解决方案

qt程序打包有关问题

热度:82   发布时间:2016-04-25 04:43:43.0
qt程序打包问题
请问各位,用qt编写的程序怎么打包,以使其复制到没有安装qt的系统中直接就能运行呢?
各位帮忙啊,实在是头大了。。。

------解决方案--------------------
静态链接的话直接一个exe就行
动态的话要带上一堆dll
------解决方案--------------------
如果是X11
请参考:
http://blog.csdn.net/derryzhang/archive/2010/04/10/5469978.aspx
如果是win:
对于mingw编译:
需要mingw的库:mingw10.dll以及libgcc_s_dw2-1.dll
和你用到的Qt的库,比方说QtCore4.dll QtGui4.dll
对于VC编译的:需要VC的运行库,以及Qt的库。
具体需要哪些,可以用VC的工具Depends,一起打包进去就好了。
------解决方案--------------------
用release模式编译下,然后把相关的库也拷出来主要是一些QtCore4,QtGui4还有一些你所加的模块如Sql,Phonon等
------解决方案--------------------
那几个dll 100多M呢,莫非楼上真打算为了一个小程序打包一堆dll过去?
------解决方案--------------------
Qt的库就是比较大,比较占空间。这点一直被人诟病。
------解决方案--------------------
这个问题太纠结了,我在LINUX下被折腾了好多天了,怎样才能让LINUX下的QT变小?
------解决方案--------------------
打包的时候注意中文显示和图片显示相关的问题
1. 中文要把Qt\4.6\qt\plugins\codecs下的 codesc文件夹及下面dll考到可执行文件所在目录。
2. 对于jpeg和gif图片不能正常显示的,也是一样,需要把imageformats 文件夹及相关dll放到运行程序所在的目录下即可
------解决方案--------------------
100多兆?debug版吧

------解决方案--------------------
你可以自己做实验,就1个exe文件,你运行它,它会提示你找不到文件。
你把它提示的文件拷贝到和它放在一起,然后再运行,它还会提示找不到另一个文件,你再找到拷贝过来。

这样反复几次基本就OK了。呵呵
------解决方案--------------------
顶 楼上 我就遇见了这样的问题
------解决方案--------------------
我也很郁闷,为什么一个Qt程序,.exe没多大,却要那么多.dll,更无语的是,这些dll还真的有蛮大。但是我从网上下载的一个qt程序,他的所有dll加起来也只有20多M,不知道是怎么实现的。
------解决方案--------------------
dll也不是全都要呀,release版的dll也不是很大
------解决方案--------------------
看manual:deploy qt applications
------解决方案--------------------
建议下个 peid 查看exe文件,就知道你需要那几个dll了!!

至于如何是qt程序变小,这个就需要各位高手指教一下了。我也不是很懂
------解决方案--------------------
把qt程序拿出来,然后打开它,根据windows提示的缺少dll的情况一个一个的把缺少的dll文件找出来,就可以了。一般也就4个左右,14M左右大小,压缩以后更小
------解决方案--------------------
刚学不太懂
------解决方案--------------------
学习了。
------解决方案--------------------
用静态编译,可以解决dll依赖问题,这包括两部分,一是搭建QT环境时,就要对它进行静态编译,其次,生成自己的应用也要静态编译;
生成的exe偏大的问题,也不是绝对的,看你用到了多少QT的库,比如,仅用到QtCore,QtGui,声成的release版是5M左右,不过,debug版要差不多15M了
------解决方案--------------------
我给你个全的:
首先,发布release版本的话必须带如下库:
QtCore4.dll QtGui4.dll
如果用的vs2008,还要带上这几个:
Microsoft.VC90.CRT.manifest msvcm90.dll msvcp90.dll msvcr90.dll

如果你的qt用到了一下功能,那么要带上对应的这些库:
XML: QtXml4.dll 如果xml中有中文的话,还需要plugins文件夹下的codecs文件夹
Qhttp: QtNetwork4.dll
phonon: phonon4.dll 以及plugins文件夹下的phonon_backend文件夹
sql : QtSql4.dll 以及plugins文件夹下的sqldrivers文件夹
qt图片类的函数:plugins文件夹下的imageformats文件夹

我目前就用到了这些,自己总结的。。

写了半天。
接分啊~~~
------解决方案--------------------

对了
忘记说了
如果是debug版本的话
带上对应的*d.dll库
比如QtCore4.dll QtGui4.dll 就是: QtCore4d.dll QtGui4d.dll
  相关解决方案