Chinaunix首页 | 论坛 | 博客
  • 博客访问: 522418
  • 博文数量: 237
  • 博客积分: 2175
  • 博客等级: 大尉
  • 技术积分: 2563
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-05 22:02
个人简介

目前在一家公司担任软件总监,主要涉及智能手机,笔记本电脑的开发

文章分类

全部博文(237)

文章存档

2024年(18)

2023年(68)

2022年(13)

2021年(7)

2020年(11)

2019年(3)

2018年(10)

2017年(8)

2012年(7)

2011年(4)

2010年(32)

2009年(41)

2008年(6)

2007年(9)

分类: LINUX

2009-10-27 11:31:03

如果拿到qtopia,不进行裁减,那将会很大的,大概50,60M .
那怎么裁减呢?
主要是通过下面的几种方式:
  1 通过configure
  2 通过project files
  3 减少一些不用的类,这个很麻烦,主要要注意相互间的调用关系
  4 减少qt embedded的大小,修改它的类,configure
后2种方法比较麻烦,除非空间是在紧张,或者加载速度很慢的情况下,可以考虑 。
对于方式1,2。qtopia提供了一个device目录,user可以把所有的配置,修改,plugin放在这个目录下,
device 主要包括 :
1) environment 主要是设置 路径等
2) configure   配置文件
比如 :
-xplatform XXX -arch arm -no-qvfb -displaysize 800x480  -prefix /opt/Qtopia-4.2.1   -dbus -defaultbuttons XXX
当用./configure -device XXX时,相当于
./configure -xplatform XXX -arch arm -no-qvfb -displaysize 800x480  -prefix /opt/Qtopia-4.2.1   -dbus -defaultbuttons XXX
3) config.pri  一般是加上有些定义
   如 DEFINES+=QT_QWS_S3C24A0
4) projects.pri  该文件在启用/禁止projects. 它在general.pri 和 commercial.pri之后,但 custom.pri 和 local.pri之前处理。
                 因此 在这里可以 配置
  比如 在 projects.pri  可以这样写 :
PROJECTS-=\  applications/camera
PROJECTS+=settings/calibrate
去除 application/camera 应用
添加 settings/calibrate 等
5) src 下面可以放一些plugin 等

所以要对qtopia裁减,主要是修改configure和project.pri,configure是针对方法1 ,project.pri是针对方法2,去除不必要的应用。
下面我们来应用一下:
configure文件如下:
-xplatform XXX -arch arm -no-qvfb -displaysize 176x220 -quicklaunch -prefix /opt/Qtopia-4.2.1-release  -no-infrared -qtmail-ssl -no-helix  -no-test -no-voip -no-modem -dbus -defaultbuttons XXX
project.pri文件如下:
PROJECTS-=\
    applications/camera \
    applications/mediarecorder \
    settings/beaming \
    settings/handwriting \
    settings/calibrate \
    settings/security \
    settings/worldtime \
    settings/network \
    settings/language \
    settings/speeddial \
    settings/sipsettings \
    settings/drmbrowser \
    tools/sipagent    \
    plugins/network/lan

PROJECTS+=tools/content_installer \
          tools/qdawggen

#PROJECTS+=settings/netsetup

PROJECTS*=3rdparty/libraries/utils
PROJECTS*=3rdparty/libraries/dataobjects

contains(PROJECTS,3rdparty/libraries/dataobjects) {
     PROJECTS*=3rdparty/libraries/utils
}

编译后Qtopia-4.2.1-release 36M,加上busybox,jpeg库(qtopia所依赖的lib)等,整个系统 也才39M。
此时在 Qtopia-4.2.1-release/bin下面,有addressbook,photoedit,calculator,helpbrowser等

我们把这些应用都去掉。并修改configure 加上-no-samples ,ssl qtmail也去掉。
configure文件如下:
-xplatform dspg -arch arm -no-qvfb -displaysize 176x220 -quicklaunch -prefix /opt/Qtopia-4.2.1-release  -no-infrared -no-helix  -no-test -no-voip -no-modem -dbus  -no-samples -no-libamr  -defaultbuttons  dsp
project.pri文件如下:
PROJECTS-=\
        applications/addressbook \
        applications/datebook \
        applications/todo\
    applications/calculator \
    applications/camera \
        applications/mediarecorder \
          applications/clock \
    applications/photoedit \
        plugins/content/id3 \
        applications/mediaplayer \
        applications/helpbrowser \
        applications/sysinfo \
        applications/qtmail \
        settings/appearance\
       settings/logging \
       settings/systemtime \
        settings/light-and-power \
       settings/packagemanager\
    settings/beaming \
    settings/handwriting \
    settings/calibrate \
    settings/security \
    settings/worldtime \
    settings/network \
    settings/language \
    settings/speeddial \
    settings/sipsettings \
    settings/drmbrowser \
    tools/sipagent    \
    plugins/network/lan \
        libraries/qtopiaprinting \
       tools/printserver \
           games/fifteen\
        games/minesweep

PROJECTS+=tools/content_installer \
          tools/qdawggen

#PROJECTS+=settings/netsetup

PROJECTS*=3rdparty/libraries/utils
PROJECTS*=3rdparty/libraries/dataobjects

contains(PROJECTS,3rdparty/libraries/dataobjects) {
     PROJECTS*=3rdparty/libraries/utils
}
编译后Qtopia-4.2.1-release 29M,整个系统 也才32M。少了,7M
此时在 Qtopia-4.2.1-release/bin下面,没有addressbook,photoedit,calculator,helpbrowser等 ,我们可以依据这种方法,继续裁减,
比如games/snake也可以不要阿...


阅读(801) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~