📄 qtopia
字号:
QPEDIR=$TROLLTECHDIR/qtopia-phone-eval-2.1.0-debug
QT3DIR=$TROLLTECHDIR/qt-x11-eval-3.3.0-debug
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-phone-eval-2.1.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 $QT3DIR
export QTDIR=$QT3DIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -debug -fast -thread
make sub-src
cd tools/linguist/lrelease
make
cd ../lupdate
make
cd ../../designer/uilib
make
cd ../uic
make
cd $QPEDIR
export QTDIR=$QTEDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -debug -edition phone -qtopiadesktop -displaysize 176x208
make
make install
cd src/tools/phonesim
make
cp *.xml $QPEDIR/image/opt/Qtopia/etc
cd ../../..
cd image/opt/Qtopia
mkdir demohome
cp $QTEDIR/bin/qvfb $QPEDIR/image/opt/Qtopia/bin
cp $QTEDIR/tools/qvfb/*.skin $QPEDIR/image/opt/Qtopia/bin -rf
</PRE>
<P>编译已经完成了,Qtopia Phone 2.1.0 Eval中提供了一个启动脚本,但是我们还是重写一个: <PRE>vi $HOME/shell/startphonedemo-eval-2.1.0.sh
</PRE>
<P>下面是脚本内容: <PRE>#!/bin/sh
source $HOME/shell/qtopia-phone-eval-2.1.0.sh
export QTDIR=$HOME/Trolltech/qtopia-phone-eval-2.1.0-debug/image/opt/Qtopia
export QPEDIR=$HOME/Trolltech/qtopia-phone-eval-2.1.0-debug/image/opt/Qtopia
export LD_LIBRARY_PATH=$QPEDIR/lib:$LD_LIBRARY_PATH
export PATH=$QPEDIR/bin:$PATH
if [ -z "$QTOPIA_PHONE_DEVICE" ]; then
export QTOPIA_PHONE_DEVICE=sim:localhost
fi
echo "Please select a phone demo mode:"
echo
echo " 1. Touchscreen Phone"
echo " 2. Keypad Phone"
echo
echo "Your choice (default 1): "
read PHONEMODE
if [ -z "$PHONEMODE" ]
then
PHONEMODE=1
fi
if [ "$PHONEMODE" = 2 ]
then
PHONESKIN=$QPEDIR/bin/SmartPhone.skin
else
PHONESKIN=$QPEDIR/bin/TouchscreenPhone.skin
fi
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 "Stopping phone simulator..."
killproc phonesim
echo "Starting qvfb..."
qvfb -skin $PHONESKIN &
if [ $QTOPIA_PHONE_DEVICE = "sim:localhost" ]; then
echo "Starting phone simulator..."
phonesim -gui $QPEDIR/etc/troll.xml &
fi
sleep 5s
echo "Starting Qtopia Phone 2.1.0 Eval..."
HOME=$HOME/Trolltech/qtopia-phone-eval-2.1.0-debug/image/opt/Qtopia/demohome qpe
if [ $QTOPIA_PHONE_DEVICE = "sim:localhost" ]; then
echo "Stopping phone simulator..."
killproc phonesim
fi
echo "Restarting killed sound deamons..."
[ "$artsd_pid" != "" ] && artsd &
[ "$esd_pid" != "" ] && esd &
</PRE>
<P>执行这个脚本就可以启动了,看看结果吧。
<P>
<CENTER><IMG height=208 alt="Qtopia Phone 2.1.0 Eval"
src="Qtopia安装简要入门.files/qtopia-phone-eval-2.1.0.png" width=176
border=0></CENTER>
<P>
<P>
<H4><A name=qtopia-phone-2.1.2>Qtopia Phone 2.1.2安装</A></H4>
<P>第一步,我们先准备一个shell文件,我这里以bash为例: <PRE>vi $HOME/shell/qtopia-phone-2.1.2.sh
</PRE>
<P>下面是shell文件的具体内容: <PRE>TROLLTECHDIR=$HOME/Trolltech
TMAKEDIR=$TROLLTECHDIR/tmake-1.13
QT2DIR=$TROLLTECHDIR/qt-x11-commercial-2.3.2-debug
QTEDIR=$TROLLTECHDIR/qt-embedded-commercial-2.3.11-debug
QPEDIR=$TROLLTECHDIR/qtopia-phone-2.1.2-debug
QT3DIR=$TROLLTECHDIR/qt-x11-commercial-3.3.4-debug
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-phone-2.1.2.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 $QT3DIR
export QTDIR=$QT3DIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -debug -fast -thread
make sub-src
cd tools/linguist/lrelease
make
cd ../lupdate
make
cd ../../designer/uilib
make
cd ../uic
make
cd $QPEDIR
export QTDIR=$QTEDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -debug -edition phone -qtopiadesktop -displaysize 176x208
make
make install
cd src/tools/phonesim
make
cp *.xml $QPEDIR/image/opt/Qtopia/etc
cd ../../..
cd image/opt/Qtopia
mkdir demohome
cp $QTEDIR/bin/qvfb $QPEDIR/image/opt/Qtopia/bin
cp $QTEDIR/tools/qvfb/*.skin $QPEDIR/image/opt/Qtopia/bin -rf
</PRE>
<P>编译已经完成了,Qtopia Phone 2.1.2中提供了一个启动脚本,但是我们还是重写一个: <PRE>vi $HOME/shell/startphonedemo-2.1.2.sh
</PRE>
<P>下面是脚本内容: <PRE>#!/bin/sh
source $HOME/shell/qtopia-phone-2.1.2.sh
export QTDIR=$HOME/Trolltech/qtopia-phone-2.1.2-debug/image/opt/Qtopia
export QPEDIR=$HOME/Trolltech/qtopia-phone-2.1.2-debug/image/opt/Qtopia
export LD_LIBRARY_PATH=$QPEDIR/lib:$LD_LIBRARY_PATH
export PATH=$QPEDIR/bin:$PATH
if [ -z "$QTOPIA_PHONE_DEVICE" ]; then
export QTOPIA_PHONE_DEVICE=sim:localhost
fi
echo "Please select a phone demo mode:"
echo
echo " 1. Touchscreen Phone"
echo " 2. Keypad Phone"
echo
echo "Your choice (default 1): "
read PHONEMODE
if [ -z "$PHONEMODE" ]
then
PHONEMODE=1
fi
if [ "$PHONEMODE" = 2 ]
then
PHONESKIN=$QPEDIR/bin/SmartPhone.skin
else
PHONESKIN=$QPEDIR/bin/TouchscreenPhone.skin
fi
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 "Stopping phone simulator..."
killproc phonesim
echo "Starting qvfb..."
qvfb -skin $PHONESKIN &
if [ $QTOPIA_PHONE_DEVICE = "sim:localhost" ]; then
echo "Starting phone simulator..."
phonesim -gui $QPEDIR/etc/troll.xml &
fi
sleep 5s
echo "Starting Qtopia Phone 2.1.2..."
HOME=$HOME/Trolltech/qtopia-phone-2.1.2-debug/image/opt/Qtopia/demohome qpe
if [ $QTOPIA_PHONE_DEVICE = "sim:localhost" ]; then
echo "Stopping phone simulator..."
killproc phonesim
fi
echo "Restarting killed sound deamons..."
[ "$artsd_pid" != "" ] && artsd &
[ "$esd_pid" != "" ] && esd &
</PRE>
<P>执行这个脚本就可以启动了,看看结果吧。
<P>
<CENTER><IMG height=208 alt="Qtopia Phone 2.1.2"
src="Qtopia安装简要入门.files/qtopia-phone-2.1.2.png" width=176 border=0></CENTER>
<P>
<CENTER><IMG height=482 alt="Qtopia Phone 2.1.2 FrameBuffer"
src="Qtopia安装简要入门.files/qtopia-phone-2.1.2-fb.png" width=264 border=0></CENTER>
<P>关于本文,有什么意见或者建议的话,请<A href="mailto:cavendish@qiliang.net">来信</A>指教,谢谢。
<P>
<ADDRESS>
<HR>
<DIV align=center>
<TABLE cellSpacing=0 width="100%" border=0>
<TBODY>
<TR>
<TD align=left>
<DIV align=left><A
href="http://www.qiliang.net/">http://www.qiliang.net/</A></DIV>
<TD>
<CENTER><A
href="mailto:webmaster@qiliang.net">mailto:webmaster@qiliang.net</A></CENTER>
<TD align=right>
<DIV
align=right>2006年06月02日</DIV></TR></TBODY></TABLE></DIV></ADDRESS></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -