查看完整版本: [-- 如何能缩小Qt编译的EXE文件体积呢?(老毛病) --]

QTCN开发网 -> Qt基础编程 -> 如何能缩小Qt编译的EXE文件体积呢?(老毛病) [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

mugua001 2020-12-13 21:55

如何能缩小Qt编译的EXE文件体积呢?(老毛病)

前几天,协助研发同事写一个测试用的EXE程序,只做一项功能,从自身尾部读取若干字节数据,然后再通过http的get发出去。
用Qt做的,GUI静态打包,19MB,最后去掉GUI,还剩下8MB多……用于特殊用途测试,体积越小越好……

最后没办法,只好换成BCB2007,打包500KB。
Qt编码过程,比BCB舒服多了,但…体积…再小点就好了。

liulin188 2020-12-14 13:40
一看楼主就是老c++了,还在搞C++ Builder

mugua001 2020-12-14 14:15
liulin188:一看楼主就是老c++了,还在搞C++ Builder
 (2020-12-14 13:40) 

惭愧,我非专业开发人员。这次是协助研发小伙伴打酱油。

不得不说,C++builder的编译质量,确实牛X。静态编译的EXE文件体积小。

还是这个功能,我用CodeBlocks(+mingw),静态编译出来是1.7MB。也比CBuider大了几倍。

XChinux 2020-12-14 16:24
那.pro里加CONFIG -= qt
不要加Qt库好了,C++ main里写段程序读文件末尾数据再WinExec或ShellExecute调用wget.exe将数据发出去。

mugua001 2020-12-14 17:37
XChinux:那.pro里加CONFIG -= qt
不要加Qt库好了,C++ main里写段程序读文件末尾数据再WinExec或ShellExecute调用wget.exe将数据发出去。 (2020-12-14 16:24) 

不错,这个思路,我回来测试一下。

clickto 2020-12-14 22:11
mugua001:惭愧,我非专业开发人员。这次是协助研发小伙伴打酱油。
不得不说,C++builder的编译质量,确实牛X。静态编译的EXE文件体积小。
....... (2020-12-14 14:15) 

不带vcl库,只有500k?

圣域天子 2020-12-15 09:26
可惜vcl的质量太差,bug太多了。

mugua001 2020-12-16 00:19
clickto:不带vcl库,只有500k? (2020-12-14 22:11) 

带VCL,一个小窗口,一个Memo,几个按钮。用CB2007静态编译完之后580+KB;

mugua001 2020-12-16 00:20
XChinux:那.pro里加CONFIG -= qt
不要加Qt库好了,C++ main里写段程序读文件末尾数据再WinExec或ShellExecute调用wget.exe将数据发出去。 (2020-12-14 16:24) 

代码中用了Qt的专属类(库),去年了,编译不成。

hitler++ 2020-12-16 08:45
用C + winapi


path = getmodulefilename
file = fopen(path,"rb");
fseek(file,GetFileSize() - 要读取的几个字节)
fread(....,几个字节)
InternetOpenUrl(url + 自己个字节)

mingw编译小于10K, vc6 编译只有4KB,编译时候加几个区段优化选项,能把最终exe文件缩小到600字节左右,并且还能再XP上运行,这功能简单其实可以纯汇编实现,体积能够缩小到小于500字节


mugua001 2020-12-16 11:26
hitler++:用C + winapi
path = getmodulefilename
file = fopen(path,"rb");
....... (2020-12-16 08:45) 

我尝试过Codelite(mingw8.10)加 -static编译过,1M多。好像是1.6M。在winxp虚拟机上编译的。

fsu0413 2020-12-16 12:38
所以要小还是原生win32api吧,Qt自身作为程序框架还是满足不了你

272064949 2020-12-18 17:27
HA_UPXShell  有个软件,可以对exe文件进行去壳压缩
静态编出的qt程序,8m大小的可以压到2m左右吧.
还想再小可以试试qt4.8。

mugua001 2020-12-18 21:01
272064949:HA_UPXShell  有个软件,可以对exe文件进行去壳压缩
静态编出的qt程序,8m大小的可以压到2m左右吧.
还想再小可以试试qt4.8。 (2020-12-18 17:27) 

Qt4.8的的体积小是吧?我试试。


查看完整版本: [-- 如何能缩小Qt编译的EXE文件体积呢?(老毛病) --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled