📄 qtopia
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0036)http://www.qiliang.net/20050908.html -->
<HTML><HEAD><TITLE>Qtopia安装简要入门</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="Qi Liang" name=Author>
<META content=http://www.qiliang.net name="Qt zh_CN Documents Website">
<STYLE type=text/css>H3.fn {
MARGIN-LEFT: 1cm; TEXT-INDENT: -1cm
}
SPAN.fn {
MARGIN-LEFT: 1cm; TEXT-INDENT: -1cm
}
A:link {
COLOR: #004faf; TEXT-DECORATION: none
}
A:visited {
COLOR: #672967; TEXT-DECORATION: none
}
BODY {
BACKGROUND: #ffffff; COLOR: black; FONT-FAMILY: "Times New Roman"
}
</STYLE>
<META content="MSHTML 6.00.2900.3314" name=GENERATOR></HEAD>
<BODY>
<H1 align=center>Qtopia安装简要入门</H1>
<P>
<P><B>注:2006年06月02日,因为Qtopia PDA GPL的最新版本为2.2.0,Qtopia
Phone的最新版本为4.1.2,所以本文内容已经比较陈旧了,希望大家参考以下文档,谢谢。</B>
<P><B><A href="http://www.qtopia.org.cn/phpBB2/viewtopic.php?t=134">Qtopia PDA
2.2.0(GPL)安装指南</A></B><BR><B><A
href="http://www.qtopia.org.cn/phpBB2/viewtopic.php?t=135">Qtopia Phone
2.2.0安装指南</A></B>
<P>
<P>最近开始学习Qtopia了,发现这个东西的安装还是比较麻烦的,装了很多遍,就想写点东西,也许对大家有些用处。
<P>
<P>Qtopia分为PDA版和Phone版,其中PDA版大家可以拿到自由版,Phone版只有付费的用户才可以拿到。但安装过程大致相同,我这里就挑选PDA自由版的1.7.0、2.1.1和Phone版的2.1.0
Eval和2.1.2作为介绍对象。
<P>(备注:因为各个Linux发行版的不同,所以在build的过程中,会有一些包的依赖关系的问题。我这里使用的是SUSE 9.3,系统已经有了Qt X11
Free
3.3.4,在/usr/lib/qt3,大家如果使用其它Linux发行版,请大家注意修改有关这个的设置。一般默认安装情况下,我们还需要e2fsprogs-devel和libjpeg-devel两个包,请大家自己安装好。我们需要前一个包里面的uuid和后一个包里面的jpeg的头文件。)
<P>(注:2005年10月31日加入Qtopia Phone 2.1.0 Eval安装。)
<P><A href="http://www.qiliang.net/20050908.html#reference">参考</A><BR><A
href="http://www.qiliang.net/20050908.html#download">下载</A><BR><A
href="http://www.qiliang.net/20050908.html#qtopia-free-1.7.0">Qtopia
1.7.0自由版安装</A><BR><A
href="http://www.qiliang.net/20050908.html#qtopia-free-2.1.1">Qtopia
2.1.1自由版安装</A><BR><A
href="http://www.qiliang.net/20050908.html#qtopia-phone-2.1.0-eval">Qtopia Phone
2.1.0 Eval安装</A><BR><A
href="http://www.qiliang.net/20050908.html#qtopia-phone-2.1.2">Qtopia Phone
2.1.2安装</A><BR>
<P>
<P>
<H3><A name=reference>参考</A></H3><A
href="http://doc.trolltech.com/qtopia2.1/html/build-from-source.html">Building
Qtopia from Source</A><BR>
<P>
<P>
<H3><A name=download>下载</A></H3>
<P>Qtopia的自由版可以到<A
href="http://www.trolltech.com/download/qtopia/index.html?cid=22">Trolltech</A>的官方网站下载:
<P><A
href="ftp://ftp.trolltech.com/freebies/tmake/tmake-1.13.tar.gz">tmake-1.13.tar.gz</A><BR><A
href="ftp://ftp.trolltech.com/qtopia/source/qtopia-free-1.7.0.tar.gz">qtopia-free-1.7.0.tar.gz</A><BR><A
href="ftp://ftp.trolltech.com/qt/source/qt-embedded-2.3.7.tar.gz">qt-embedded-2.3.7.tar.gz</A><BR><A
href="ftp://ftp.trolltech.com/qtopia/source/qtopia-free-source-2.1.1.tar.gz">qtopia-free-source-2.1.1.tar.gz</A><BR><A
href="ftp://ftp.trolltech.com/qt/source/qt-embedded-2.3.10-free.tar.gz">qt-embedded-2.3.10-free.tar.gz</A><BR><A
href="ftp://ftp.trolltech.com/qt/source/qt-x11-2.3.2.tar.gz">qt-x11-2.3.2.tar.gz</A><BR>
<P>
<P>Qtopia的Phone Eval版需要下面这些包:
<P>qtopia-phone-source-eval-2.1.0.tar.gz<BR>qt-embedded-2.3.9-eval.tar.gz<BR>qt-x11-2.3.2-eval.tar.gz<BR>qt-x11-eval-3.3.0.tar.gz<BR>
<P>
<P>Qtopia的Phone版需要下面这些包:
<P>qtopia-phone-source-2.1.2.tar.gz<BR>qt-embedded-2.3.11-commercial.tar.gz<BR>qt-x11-2.3.2-commercial.tar.gz<BR>qt-x11-commercial-3.3.4.tar.gz<BR>
<P>
<P>假设你已经把上面的各个包下载到$HOME/Trolltech下了。 <PRE>cd $HOME/Trolltech
tar zxvf tmake-1.13.tar.gz
tar zxvf qtopia-free-1.7.0.tar.gz
mv qtopia-free-1.7.0 qtopia-free-1.7.0-debug
tar zxvf qt-embedded-2.3.7.tar.gz
mv qt-2.3.7 qt-embedded-free-2.3.7-debug
tar zxvf qtopia-free-source-2.1.1.tar.gz
mv qtopia-free-2.1.1 qtopia-free-2.1.1-debug
tar zxvf qt-embedded-2.3.10-free.tar.gz
mv qt-2.3.10 qt-embedded-free-2.3.10-debug
tar zxvf qt-x11-2.3.2.tar.gz
mv qt-2.3.2 qt-x11-free-2.3.2-debug
tar zxvf qtopia-phone-source-eval-2.1.0.tar.gz
mv qtopia-eval-2.1.0 qtopia-phone-eval-2.1.0-debug
tar zxvf qt-embedded-2.3.9-eval.tar.gz
mv qt-2.3.9 qt-embedded-eval-2.3.9-debug
tar zxvf qt-x11-2.3.2-eval.tar.gz
mv qt-2.3.2 qt-x11-eval-2.3.2-debug
tar zxvf qt-x11-eval-3.3.0.tar.gz
mv qt-3.3.0 qt-x11-eval-3.3.0-debug
tar zxvf qtopia-phone-source-2.1.2.tar.gz
mv qtopia-phone-2.1.2 qtopia-phone-2.1.2-debug
tar zxvf qt-embedded-2.3.11-commercial.tar.gz
mv qt-2.3.11 qt-embedded-commercial-2.3.11-debug
tar zxvf qt-x11-2.3.2-commercial.tar.gz
mv qt-2.3.2 qt-x11-commercial-2.3.2-debug
tar zxvf qt-x11-commercial-3.3.4.tar.gz
mv qt-3.3.4 qt-x11-commercial-3.3.4-debug
</PRE>
<P>
<P>
<H3>安装</H3>
<P>安装的过程是参考$HOME/Trolltech/qtopia-free-2.1.1-debug/scripts/build_qtopia这个脚本文件进行的。启动脚本是参考$HOME/Trolltech/qtopia-phone-2.1.2-debug/bin/startphonedemo改写的。
<P>
<H4><A name=qtopia-free-1.7.0>Qtopia 1.7.0自由版安装</A></H4>
<P>第一步,我们先准备一个shell文件,我这里以bash为例: <PRE>vi $HOME/shell/qtopia-free-1.7.0.sh
</PRE>
<P>下面是shell文件的具体内容: <PRE>TROLLTECHDIR=$HOME/Trolltech
TMAKEDIR=$TROLLTECHDIR/tmake-1.13
QT2DIR=$TROLLTECHDIR/qt-x11-free-2.3.2-debug
QTEDIR=$TROLLTECHDIR/qt-embedded-free-2.3.7-debug
QPEDIR=$TROLLTECHDIR/qtopia-free-1.7.0-debug
QT3DIR=/usr/lib/qt3
QTDIR=$QTEDIR
DQTDIR=$QT3DIR
TMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g++
QMAKESPEC=linux-g++
PATH=$QT2DIR/bin:$QTEDIR/bin:$QPEDIR/bin:$DQTDIR/bin:$QT3DIR/bin:$QTDIR/bin:$TMAKEDIR/bin:$PATH
LD_LIBRARY_PATH=$QT2DIR/lib:$QTEDIR/lib:$QPEDIR/lib:$DQTDIR/lib:$QT3DIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH
export TROLLTECHDIR TMAKEDIE QT2DIR QTEDIR QPEDIR QT3DIR QTDIR DQTDIR TMAKEPATH QMAKESPEC PATH LD_LIBRARY_PATH
</PRE>
<P>然后就是让这个shell文件生效了。 <PRE>source $HOME/shell/qtopia-free-1.7.0.sh
</PRE>
<P>自由版中,因为Qtopia Desktop不能进行编译,所以编译过程中不需要编译Qt X11 3.x版本。我们这就开始编译了: <PRE>cd $QTEDIR
cp $QPEDIR/src/qt/qconfig-qpe.h src/tools -f
./configure -debug -qconfig qpe -qvfb -depths 4,8,16,32 -keypad-mode -system-jpeg -gif
make sub-src
cd $QT2DIR
export QTDIR=$QT2DIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -debug -no-opengl -no-xft
make sub-src
cd tools/designer/util
make
cd ../uic
make
cp $QTDIR/bin/uic $QTEDIR/bin
cd $QTEDIR/tools/qvfb
tmake qvfb.pro > Makefile
make
cp qvfb $QTEDIR/bin
cd $QPEDIR
export QTDIR=$QTEDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
cd src
./configure -debug
make
cd ..
mkdir demohome
</PRE>
<P>编译已经完成了,Qtopia 1.7.0自由版中没有提供启动脚本,我们来写一个: <PRE>vi $HOME/shell/startpdademo-1.7.0.sh
</PRE>
<P>下面是脚本内容: <PRE>#!/bin/sh
source $HOME/shell/qtopia-free-1.7.0.sh
export QTDIR=$HOME/Trolltech/qt-embedded-free-2.3.7-debug
export QPEDIR=$HOME/Trolltech/qtopia-free-1.7.0-debug
export LD_LIBRARY_PATH=$QPEDIR/lib:$LD_LIBRARY_PATH
export PATH=$QPEDIR/bin:$PATH
findproc() {
/bin/ps -e | /bin/sed -n -e '/\<'$1'\>/ s/^ *\([0-9][0-9]*\).*/\1/p'
}
killproc() {
pid=`findproc $1`
[ "$pid" != "" ] && kill $pid
}
killall quicklauncher
killall qpe
killall qvfb
[ -x /sbin/fuser ] && ( /sbin/fuser -kn tcp 4242 || /sbin/fuser -kn tcp 4243 )
[ -x /bin/fuser ] && ( /bin/fuser -kn tcp 4242 || /bin/fuser -kn tcp 4243 )
echo "Stopping common sound deamons..."
artsd_pid=`findproc artsd`
[ "$artsd_pid" != "" ] && kill $artsd_pid
esd_pid=`findproc esd`
[ "$esd_pid" != "" ] && kill $esd_pid
echo "Starting qvfb..."
qvfb -width 240 -height 320 &
sleep 5s
echo "Starting Qtopia PDA 1.7.0..."
HOME=$HOME/Trolltech/qtopia-free-1.7.0-debug/demohome qpe
echo "Restarting killed sound deamons..."
[ "$artsd_pid" != "" ] && artsd &
[ "$esd_pid" != "" ] && esd &
</PRE>
<P>执行这个脚本就可以启动了,看看结果吧。
<P>
<CENTER><IMG height=320 alt="Qtopia Free 1.7.0"
src="Qtopia安装简要入门.files/qtopia-free-1.7.0.png" width=240 border=0></CENTER>
<P>
<P>
<H4><A name=qtopia-free-2.1.1>Qtopia 2.1.1自由版安装</A></H4>
<P>第一步,我们先准备一个shell文件,我这里以bash为例: <PRE>vi $HOME/shell/qtopia-free-2.1.1.sh
</PRE>
<P>下面是shell文件的具体内容: <PRE>TROLLTECHDIR=$HOME/Trolltech
TMAKEDIR=$TROLLTECHDIR/tmake-1.13
QT2DIR=$TROLLTECHDIR/qt-x11-free-2.3.2-debug
QTEDIR=$TROLLTECHDIR/qt-embedded-free-2.3.10-debug
QPEDIR=$TROLLTECHDIR/qtopia-phone-2.1.1-debug
QT3DIR=/usr/lib/qt3
QTDIR=$QTEDIR
DQTDIR=$QT3DIR
TMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g++
QMAKESPEC=linux-g++
PATH=$QT2DIR/bin:$QTEDIR/bin:$QPEDIR/bin:$DQTDIR/bin:$QT3DIR/bin:$QTDIR/bin:$TMAKEDIR/bin:$PATH
LD_LIBRARY_PATH=$QT2DIR/lib:$QTEDIR/lib:$QPEDIR/lib:$DQTDIR/lib:$QT3DIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH
export TROLLTECHDIR TMAKEDIE QT2DIR QTEDIR QPEDIR QT3DIR QTDIR DQTDIR TMAKEPATH QMAKESPEC PATH LD_LIBRARY_PATH
</PRE>
<P>然后就是让这个shell文件生效了。 <PRE>source $HOME/shell/qtopia-free-2.1.1.sh
</PRE>
<P>自由版中,因为Qtopia Desktop不能进行编译,所以编译过程中不需要编译Qt X11 3.x版本。我们这就开始编译了: <PRE>cd $QTEDIR
cp $QPEDIR/src/qt/qconfig-qpe.h src/tools -f
./configure -debug -qconfig qpe -qvfb -depths 4,8,16,32 -keypad-mode -system-jpeg -gif
make sub-src
cd $QT2DIR
export QTDIR=$QT2DIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -debug -no-opengl -no-xft
make sub-src
cd tools/designer/util
make
cd ../uic
make
cp $QTDIR/bin/uic $QTEDIR/bin
cd $QTEDIR/tools/qvfb
tmake qvfb.pro > Makefile
make
cp qvfb $QTEDIR/bin
cd $QPEDIR
export QTDIR=$QTEDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -debug -edition pda -no-qtopiadesktop -displaysize 240x320
make
make install
cd image/opt/Qtopia
mkdir demohome
</PRE>
<P>编译已经完成了,Qtopia 2.1.1自由版中没有提供启动脚本,我们来写一个: <PRE>vi $HOME/shell/startpdademo-2.1.1.sh
</PRE>
<P>下面是脚本内容: <PRE>#!/bin/sh
source $HOME/shell/qtopia-free-2.1.1.sh
export QTDIR=$HOME/Trolltech/qtopia-free-2.1.1-debug/image/opt/Qtopia
export QPEDIR=$HOME/Trolltech/qtopia-free-2.1.1-debug/image/opt/Qtopia
export LD_LIBRARY_PATH=$QPEDIR/lib:$LD_LIBRARY_PATH
export PATH=$QPEDIR/bin:$PATH
findproc() {
/bin/ps -e | /bin/sed -n -e '/\<'$1'\>/ s/^ *\([0-9][0-9]*\).*/\1/p'
}
killproc() {
pid=`findproc $1`
[ "$pid" != "" ] && kill $pid
}
killall quicklauncher
killall qpe
killall qvfb
[ -x /sbin/fuser ] && ( /sbin/fuser -kn tcp 4242 || /sbin/fuser -kn tcp 4243 )
[ -x /bin/fuser ] && ( /bin/fuser -kn tcp 4242 || /bin/fuser -kn tcp 4243 )
echo "Stopping common sound deamons..."
artsd_pid=`findproc artsd`
[ "$artsd_pid" != "" ] && kill $artsd_pid
esd_pid=`findproc esd`
[ "$esd_pid" != "" ] && kill $esd_pid
echo "Starting qvfb..."
qvfb -width 240 -height 320 &
sleep 5s
echo "Starting Qtopia 2.1.1..."
HOME=$HOME/Trolltech/qtopia-free-2.1.1-debug/image/opt/Qtopia/demohome qpe
echo "Restarting killed sound deamons..."
[ "$artsd_pid" != "" ] && artsd &
[ "$esd_pid" != "" ] && esd &
</PRE>
<P>执行这个脚本就可以启动了,看看结果吧。
<P>
<CENTER><IMG height=320 alt="Qtopia Free 2.1.1"
src="Qtopia安装简要入门.files/qtopia-free-2.1.1.png" width=240 border=0></CENTER>
<P>
<P>
<H4><A name=qtopia-phone-2.1.0-eval>Qtopia Phone 2.1.0 Eval安装</A></H4>
<P>第一步,我们先准备一个shell文件,我这里以bash为例: <PRE>vi $HOME/shell/qtopia-phone-eval-2.1.0.sh
</PRE>
<P>下面是shell文件的具体内容: <PRE>TROLLTECHDIR=$HOME/Trolltech
TMAKEDIR=$TROLLTECHDIR/tmake-1.13
QT2DIR=$TROLLTECHDIR/qt-x11-eval-2.3.2-debug
QTEDIR=$TROLLTECHDIR/qt-embedded-eval-2.3.91-debug
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -