qt mobile 裁剪

ofei 2010-01-26 09:56:13
大家都知道qt的库太大了,所以在mobile上使用qt开发的话很麻烦
目前在4.6.0的wince版本上通过
configure.exe -release -ltcg -no-qt3support -opensource -qt-zlib -rtti -no-gif -no-libpng -no-libmng -no-libtiff -no-libjpeg -no-xmlpatterns -no-accessibility -no-stl -no-crt -no-style-plastique -no-style-cleanlooks -no-style-motif -no-style-cde -qt-style-windowsmobile -no-sql-sqlite -no-s60 -no-webkit -no-openvg -no-mmx -no-iwmmxt -no-native-gestures -arch windowsce -platform win32-msvc2008 -xplatform wincewm60professional-msvc2008
cd bin
setcepaths.bat wincewm60professional-msvc2008
cd ..
nmake
得到的dll只比桌面版的dll少了200多ke,效果不理想
在网上搜索到可以编译qconfig的源代码得到qconfig.exe进行特征裁剪的,不过一直编译不成功(安装了MinGW)

不知道哪位大侠有这方面的经验,是否可以共享下?
谢谢
...全文
963 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaoli_1956 2010-12-16
  • 打赏
  • 举报
回复
打算买个商业版的找技术支持帮忙裁剪
codesnail 2010-11-03
  • 打赏
  • 举报
回复
关注中。。。。。。。。
lbwave1 2010-11-01
  • 打赏
  • 举报
回复
可不可以直接连接源代码
meiguilei 2010-09-08
  • 打赏
  • 举报
回复
很好,期望楼主和大家继续分享经验
幻想多巴胺 2010-06-11
  • 打赏
  • 举报
回复
shark926 2010-05-25
  • 打赏
  • 举报
回复
4.6.2-everywhere版本自带的-qconfig minimal都需要手动改源代码才能过。我编的静态库qtcore和qtgui加起来8.8M,好像再也不能小了,官网http://qt.nokia.com/products-cn/device/requirements上说的未压缩3.6M-9M是指哪些库?
程序员Linc 2010-02-27
  • 打赏
  • 举报
回复
我也在关注这方面,
请楼主不吝赐教啊~~~
ccnucjp8136 2010-02-26
  • 打赏
  • 举报
回复
楼上的,做这方面的技术预研??

有时间一起讨论,我有过这方面的经验,QQ17961108
儿大不由爷 2010-02-04
  • 打赏
  • 举报
回复
如果对程序的size有要求那就最好不用QT了,还是WTL吧,QT就是可移植性好一些,window ce/mobile 毕竟不是Nokia关注的平台。
ofei 2010-02-04
  • 打赏
  • 举报
回复
悲剧

查阅configure文件,发现以下文本:
-qconfig)
if [ "$PLATFORM_QWS" != "yes" ]; then
echo
echo "WARNING: -qconfig is only tested and supported on Qt for Embedded Linux."
echo
fi

因此在mobile上进行裁剪很难很难,除非深入到代码级别,但当版本升级后,这样的裁剪恐怕又重新来一次
ofei 2010-02-04
  • 打赏
  • 举报
回复
现在是进行技术预研
在mobile、symbian上写同一套代码
jpchen609 2010-02-04
  • 打赏
  • 举报
回复
不是很清楚,但还是顶一个先。
geozhang 2010-02-03
  • 打赏
  • 举报
回复
楼主呀,这个内容很重要,能不能写详细些,方便他人,做个善事
MicroSky2813 2010-02-02
  • 打赏
  • 举报
回复
7.2M 还是不少,幸好现在的ARM都配几百兆的储存了
ofei 2010-02-02
  • 打赏
  • 举报
回复
经过无数次的裁剪,终于尝到成功的喜悦
成功案例1:
配置及编译
configure.exe -fast -release -ltcg -no-qt3support -opensource -qt-zlib -rtti -no-gif -no-libpng -no-libmng -no-libtiff -no-libjpeg -no-xmlpatterns -no-accessibility -no-stl -no-crt -no-style-plastique -no-style-cleanlooks -no-style-motif -no-style-cde -qt-style-windowsmobile -no-sql-sqlite -no-s60 -no-webkit -no-openvg -no-mmx -no-iwmmxt -no-native-gestures -arch windowsce -qconfig custom31 -platform win32-msvc2008 -xplatform wincewm60professional-msvc2008
cd bin
setcepaths.bat wincewm60professional-msvc2008
cd ..
nmake

其中qconfig-custom31.h文件如下

/* Kernel */
#ifndef QT_NO_SESSIONMANAGER
# define QT_NO_SESSIONMANAGER
#endif

/* Gui */

/* Data structures */
#ifndef QT_NO_STL
# define QT_NO_STL
#endif

/* File I/O */

/* Widgets */
#ifndef QT_NO_PRINTPREVIEWWIDGET
# define QT_NO_PRINTPREVIEWWIDGET
#endif

/* Dialogs */
#ifndef QT_NO_PRINTDIALOG
# define QT_NO_PRINTDIALOG
#endif
#ifndef QT_NO_PRINTPREVIEWDIALOG
# define QT_NO_PRINTPREVIEWDIALOG
#endif

/* ItemViews */

/* Styles */
#ifndef QT_NO_STYLE_CDE
# define QT_NO_STYLE_CDE
#endif
#ifndef QT_NO_STYLE_CLEANLOOKS
# define QT_NO_STYLE_CLEANLOOKS
#endif
#ifndef QT_NO_STYLE_MOTIF
# define QT_NO_STYLE_MOTIF
#endif
#ifndef QT_NO_STYLE_PLASTIQUE
# define QT_NO_STYLE_PLASTIQUE
#endif
#ifndef QT_NO_STYLE_WINDOWSCE
# define QT_NO_STYLE_WINDOWSCE
#endif
#ifndef QT_NO_STYLE_WINDOWSVISTA
# define QT_NO_STYLE_WINDOWSVISTA
#endif
#ifndef QT_NO_STYLE_WINDOWSXP
# define QT_NO_STYLE_WINDOWSXP
#endif

/* Images */
#ifndef QT_NO_IMAGEFORMAT_BMP
# define QT_NO_IMAGEFORMAT_BMP
#endif
#ifndef QT_NO_IMAGEFORMAT_PPM
# define QT_NO_IMAGEFORMAT_PPM
#endif
#ifndef QT_NO_IMAGEFORMAT_XBM
# define QT_NO_IMAGEFORMAT_XBM
#endif
#ifndef QT_NO_IMAGEFORMATPLUGIN
# define QT_NO_IMAGEFORMATPLUGIN
#endif

/* Painting */
#ifndef QT_NO_CUPS
# define QT_NO_CUPS
#endif
#ifndef QT_NO_PRINTER
# define QT_NO_PRINTER
#endif

/* Fonts */
#ifndef QT_NO_FREETYPE
# define QT_NO_FREETYPE
#endif
#ifndef QT_NO_QWS_QPF2
# define QT_NO_QWS_QPF2
#endif

/* Internationalization */

/* Networking */
#ifndef QT_NO_COP
# define QT_NO_COP
#endif

/* Utilities */
#ifndef QT_NO_ACCESSIBILITY
# define QT_NO_ACCESSIBILITY
#endif

/* SVG */

/* Qt for Embedded Linux */
#ifndef QT_NO_QWS_ALPHA_CURSOR
# define QT_NO_QWS_ALPHA_CURSOR
#endif
#ifndef QT_NO_QWS_CURSOR
# define QT_NO_QWS_CURSOR
#endif
#ifndef QT_NO_QWS_DECORATION_DEFAULT
# define QT_NO_QWS_DECORATION_DEFAULT
#endif
#ifndef QT_NO_QWS_DECORATION_STYLED
# define QT_NO_QWS_DECORATION_STYLED
#endif
#ifndef QT_NO_QWS_DECORATION_WINDOWS
# define QT_NO_QWS_DECORATION_WINDOWS
#endif
#ifndef QT_NO_QWS_DYNAMICSCREENTRANSFORMATION
# define QT_NO_QWS_DYNAMICSCREENTRANSFORMATION
#endif
#ifndef QT_NO_QWS_KEYBOARD
# define QT_NO_QWS_KEYBOARD
#endif
#ifndef QT_NO_QWS_MANAGER
# define QT_NO_QWS_MANAGER
#endif
#ifndef QT_NO_QWS_MOUSE
# define QT_NO_QWS_MOUSE
#endif
#ifndef QT_NO_QWS_MOUSE_AUTO
# define QT_NO_QWS_MOUSE_AUTO
#endif
#ifndef QT_NO_QWS_MOUSE_MANUAL
# define QT_NO_QWS_MOUSE_MANUAL
#endif
#ifndef QT_NO_QWS_MULTIPROCESS
# define QT_NO_QWS_MULTIPROCESS
#endif
#ifndef QT_NO_QWS_PROXYSCREEN
# define QT_NO_QWS_PROXYSCREEN
#endif
#ifndef QT_NO_QWS_SOUNDSERVER
# define QT_NO_QWS_SOUNDSERVER
#endif
#ifndef QT_NO_QWS_TRANSFORMED
# define QT_NO_QWS_TRANSFORMED
#endif
#ifndef QT_NO_QWS_VNC
# define QT_NO_QWS_VNC
#endif
#ifndef QT_NO_QWSEMBEDWIDGET
# define QT_NO_QWSEMBEDWIDGET
#endif
#ifndef QT_NO_SXE
# define QT_NO_SXE
#endif

/* Windows */

/* Phonon */

但编译出来的qtgui4.dll还有7.2M多
ppass 2010-01-30
  • 打赏
  • 举报
回复
关注~一直也在想这个问题.
它的大小决定我们的产品到底用什么架构
ofei 2010-01-26
  • 打赏
  • 举报
回复
可以否看下特征裁剪文件 qconfig-xxx.h?
我裁剪的一个都编译不过
chenfeng2002 2010-01-26
  • 打赏
  • 举报
回复
同一版本库在不同平台下编译得到的大小不一样,
我在linux下裁过4.5.3,QtCore 1.9M, QtGui 4.9M,有很大一部分控件被裁掉,win平台下要小一些。
rzsheng 2010-01-26
  • 打赏
  • 举报
回复
好像很难裁减到很小,只编译QtCore 和 QtGUI 就已经很大了,但这是最基本的,

16,817

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧