• 6462阅读
  • 6回复

qt commercial静态编译怎么这么大啊? [复制链接]

上一主题 下一主题
离线zhgn
 

只看楼主 正序阅读 楼主  发表于: 2009-07-13
./configure -prefix /usr/local/Trolltech/Qt-4.5.2-commersial-static-debug -static -debug-and -fast -commercial -largefile -xmlpatterns -phonon -phonon-backend -svg -webkit -scripttools -qt-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -openssl -dbus -gtkstyle -system-nas-sound -opengl -glib -optimized-qmake -v

使用上面的设置进行configure,make后发现文件夹膨胀到接近20个G。
examples文件夹接近16个G,文件夹里的一个可执行文件都在80多M。

请问这是什么原因造成的?

应该怎样防止这种现象发生呢?

先谢谢各位!

PS:系统是Ubuntu9.04-32bit,原有QT4.5-commercial,QT4.4.3-open source.
离线zhgn

只看该作者 6楼 发表于: 2009-07-15
引用第5楼shiroki于2009-07-15 14:40发表的  :
configure的时候可以加 -nomake demos -nomake examples


谢了,又学了一招。编译这么多次都没发现这个,晕阿!

另外,看了一下QT的makefile发现会自动进行strip。只是好像在strip一个html文件时会出错!
离线shiroki

只看该作者 5楼 发表于: 2009-07-15
configure的时候可以加 -nomake demos -nomake examples
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线zhgn

只看该作者 4楼 发表于: 2009-07-15
引用第2楼shiroki于2009-07-14 17:12发表的  :
编译完了之后的application还可以strip一下,就可以更小了


不知道strip是干什么用的,man了一下,还是不太理解!

由于机子上有4个不同的QT,现在知道了demos和example目录最大了,刚查了下find的用法,把下面的可执行文件全删了,doc也只留了一份。节省了相当可观的空间,呵呵。

find -executable -type f -delete

引用第3楼XChinux于2009-07-14 17:37发表的  :
不要编译examples和demos里的东西,需要的时候再单个示例单独编译。这样可大大减少编译时间和空间。


我只会修改makefile文件来实现这个目的,configure的时候可以设置吗,-fast好像不行。
离线XChinux

只看该作者 3楼 发表于: 2009-07-14
不要编译examples和demos里的东西,需要的时候再单个示例单独编译。这样可大大减少编译时间和空间。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线shiroki

只看该作者 2楼 发表于: 2009-07-14
编译完了之后的application还可以strip一下,就可以更小了
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线zhgn

只看该作者 1楼 发表于: 2009-07-14
没人回答,只好自己来了。

之所以这么大,是由于使用了参数STATIC和DEBUG。好像debug应该是shared。

貌似我做了很傻的行为。
快速回复
限100 字节
 
上一个 下一个