搜索
bottom↓
回复: 34

用QT的兄台如何解决依赖库超级大的问题

[复制链接]

出0入0汤圆

发表于 2014-10-11 16:40:41 | 显示全部楼层 |阅读模式
     一个简单的串口程序,加上以来的dll 大概要搞到20多M。。。。。你们是如何解决的

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

发表于 2014-10-11 16:45:03 | 显示全部楼层
qt程序打包,要加一堆库,感觉是挺烦的

出0入0汤圆

发表于 2014-10-11 16:55:45 | 显示全部楼层
是打包成exe了吗?反正随便写个简单的就得6M左右。。好像动态编译之类的可以减小,听是听说过

出10入61汤圆

发表于 2014-10-11 17:12:45 | 显示全部楼层
1、使用可以静态链接的QT版本 2、使用其他的压缩打包工具处理会小很多 3、如果不是分发给别人自用就不用纠结这点空间了

出0入0汤圆

 楼主| 发表于 2014-10-11 17:23:02 | 显示全部楼层
tcm123 发表于 2014-10-11 17:12
1、使用可以静态链接的QT版本 2、使用其他的压缩打包工具处理会小很多 3、如果不是分发给别人自用就不用纠 ...

静态也是把DLL  封装成一个exe  动态也必须把DLL copy给别人   写软件当然是给别人用了。。。。

出0入0汤圆

发表于 2014-10-11 17:23:54 | 显示全部楼层
QT是不是跨平台的那个。。

出0入0汤圆

发表于 2014-10-11 17:25:35 | 显示全部楼层
ycping 发表于 2014-10-11 17:23
QT是不是跨平台的那个。。

就是跨平台的那个

出0入0汤圆

发表于 2014-10-11 17:29:14 | 显示全部楼层
这个是个开源的Qt串口软件,网上有源代码,你看看能不能解决你的问题....

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入25汤圆

发表于 2014-10-11 17:32:57 | 显示全部楼层
nome 发表于 2014-10-11 17:23
静态也是把DLL  封装成一个exe  动态也必须把DLL copy给别人   写软件当然是给别人用了。。。。 ...


你对静态的理解有误,只有动态才需要.dll,静态使用.lib只链接自己用到的代码

出0入0汤圆

 楼主| 发表于 2014-10-11 17:36:43 | 显示全部楼层
XIVN1987 发表于 2014-10-11 17:32
你对静态的理解有误,只有动态才需要.dll,静态使用.lib只链接自己用到的代码 ...

哦  是的 刚头有点晕了。。。。

出0入0汤圆

 楼主| 发表于 2014-10-11 17:37:57 | 显示全部楼层
XIVN1987 发表于 2014-10-11 17:32
你对静态的理解有误,只有动态才需要.dll,静态使用.lib只链接自己用到的代码 ...

qt如何静态编译你知道吗?

出0入25汤圆

发表于 2014-10-11 17:41:31 | 显示全部楼层
nome 发表于 2014-10-11 17:37
qt如何静态编译你知道吗?


不知道,,不过Google/百度一下应该能找到很多教程

出0入0汤圆

发表于 2014-10-11 18:05:04 | 显示全部楼层
考虑裁剪icudt这个动态库。。。。。

出0入0汤圆

发表于 2014-10-11 18:07:36 来自手机 | 显示全部楼层
就是这样子,习惯就好

出0入0汤圆

发表于 2014-10-11 21:18:36 来自手机 | 显示全部楼层
qt串口,记号

出0入0汤圆

发表于 2014-10-11 21:39:02 | 显示全部楼层
静态编译

出0入0汤圆

发表于 2014-10-11 21:43:35 | 显示全部楼层
放弃QT 回到delphi

出0入0汤圆

发表于 2014-10-11 21:44:46 | 显示全部楼层
建议用动态库,叫客户装QT运行包,运行包几十M,装一次,所有的QT程序共享

其实想想,用QT的目的真的是为了跨平台吗,还是为了用它的UI界面库和控件之类。

我是一直用VC6因为比较小,所以都用静态编译,几百K和几十K的区别也不大。

出0入0汤圆

发表于 2014-10-11 21:50:01 | 显示全部楼层
大的运行库,小巧的应用程序,是大势所趋,一个是应用程序会体积小,二是很容易跨平台
用Python、JAVA、DotNet、QT等等,都不错,以前不喜欢这些,而喜欢VC编译出的小巧绿色软件,但这是大趋势,不喜欢也没用

出0入0汤圆

发表于 2014-10-11 21:51:21 | 显示全部楼层
想要总体积小就用静态编译的方式, 只生成一个体积较大的exe, 不用带上一堆的dll,  但是需要你下载qt的源码静态编译qt,  比较麻烦。
建议还是带dll吧,其中的exe体积相对静态编译生成的exe小很多,以后你自动升级什么的, 只需要更新这个exe即可,其它的qt的dll一般不用重新升级。

出0入0汤圆

发表于 2014-10-11 22:30:21 | 显示全部楼层
动态库确实很大,我写一个串口的应用,界面用到的控件也没几个,把库全部找出来打包四五十M了
一般人的电脑是没有安装QT环境的,所以一个简单的应用发给别人用那么大挺吓人的!

出0入0汤圆

发表于 2014-10-11 22:38:39 | 显示全部楼层
如果限定了平台,直接用vc  ok了

出0入0汤圆

发表于 2014-10-12 02:16:00 来自手机 | 显示全部楼层
静态编译或者只带几个必要的dll

出0入0汤圆

发表于 2014-10-12 05:47:57 来自手机 | 显示全部楼层
和labview一样,安装文件都很大

出0入16汤圆

发表于 2014-10-12 07:56:02 来自手机 | 显示全部楼层
关注一下QT

出0入0汤圆

发表于 2014-10-12 11:31:01 | 显示全部楼层
你们就没有考虑生成部署安装包?

出0入0汤圆

发表于 2014-10-12 12:16:23 | 显示全部楼层
用wxwidgts 要小一些

出0入0汤圆

发表于 2014-10-13 06:26:04 | 显示全部楼层
围观     

出0入0汤圆

发表于 2014-10-13 08:41:30 | 显示全部楼层
Qt5 以后带的动态库最大的是 icudt51.dll 20M多。

给你个方法: http://www.hellprototypes.com/archives/161

搞完后:    icudt51.dll 大小:381 KB (Qt5.1自带的有:21.3 MB)

出0入0汤圆

发表于 2014-10-13 09:07:03 | 显示全部楼层
qt自己编译源代码,选择静态编译

出0入0汤圆

发表于 2014-10-13 09:24:35 | 显示全部楼层
如果你想下.net程序需要装巨大的netframe, java程序要装个jvm是不是顿时心理平衡了. 我下载一些工具软件时, 如果标注要装net框架, 或者是虚拟机的, 我一般直接放弃,寻找代替软件. 因为下载下来, 你千辛万苦安装个框架, 最后问题一大堆, 一搜原来框架版本不对. 但是我从来不纠结软件包的大小. 现在100K的程序10M的程序, 区别很少了. 无论是网络带宽, 还是硬盘容量. 现在连U盘都基本16G起跑.

当年刚开始用Qt的时候(写的是商业程序), 也纠结这个问题, 最后发现这些问题其实只有对自己是问题, 对客户根本不是问题. 客户不关注里面有1个文件, 还是100个文件, 他只关注, 点exe文件或快捷方式能正确运行, 交互体验够友好就行了.

我经常用的P4MERGER(一个版本控制系统中带的, 代码差异比较合并工具), 以及谷歌地球, 都是直接带的qt的一堆dll. 还碰到一大堆用qt写的小软件都是这么用的. 比如播放器vlc也是如此, 你觉得他不方便了吗?

出0入0汤圆

发表于 2014-10-13 09:37:59 | 显示全部楼层
mmyer 发表于 2014-10-11 22:30
动态库确实很大,我写一个串口的应用,界面用到的控件也没几个,把库全部找出来打包四五十M了
一般人的电脑 ...

不要用你自己的思维去想象客户的思维.

我们碰到的客户我就发现和我自己的思维不一样, 我们喜欢小, 他们认为大才显得专业.

我们喜欢绿色软件, 解压就能用, 他们觉得必需有安装包, 一路next才有专业软件的样子.

另外软件发布大小根本就没你那么跨装, 我试试qt5.3.0, 我7zip普通压缩了下icudt52.dll icuin52.dll icuuc52.dll qt5core.dll qt5widgets.dll qt5gui.dll一共才9M. 我估计用打包软件打包后会更小.

因为我们公司目前qt5属于试用阶段, 没有发布过正式的产品, 但是我记得, 基于qt4的产品, 打包后才6.8M还是8.6M里面还包含不少图片资源. 我觉得比起那些要另外装xx.xx版本框架的程序发布要好很多.

出160入67汤圆

发表于 2014-10-13 16:31:50 | 显示全部楼层
Vmao 发表于 2014-10-11 21:43
放弃QT 回到delphi

其实还是delphi,安装程序也不大,而且可以编译绿色文件,功能电工使用足够了,就是不知道为何现在使用这个做开发人员的为何不多了?

出0入0汤圆

发表于 2014-10-13 16:45:16 | 显示全部楼层
Qt 4系列,所需DLL量比Qt 5系列小得多。
真正解決方法是自行編譯靜態版的Qt,但需注意衹適合用於GNU GPL的項目,或者購買商業版許可。

出30入0汤圆

发表于 2014-10-13 17:46:43 | 显示全部楼层
关注,想把QT程序在嵌入式linux上运行,需要一段长日子来解决这个问题。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-3 03:23

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表