Qtopia安装简要入门[转]

      最近开始学习Qtopia了,发现这个东西的安装还是比较麻烦的,装了很多遍,就想写点东西,也许对大家有些用处。

 

Qtopia分为PDA版和Phone版,其中PDA版大家可以拿到自由版。

(备注:因为各个Linux发行版的不同,所以在build的过程中,会有一些包的依赖关系的问题。我这里使用的是SUSE 9.3,系统已经有了Qt X11 Free 3.3.4,在/usr/lib/qt3,大家如果使用其它Linux发行版,请大家注意修改有关这个的设置。一般默认安装情况下,我们还需要e2fsprogs-devel和libjpeg-devel两个包,请大家自己安装好。我们需要前一个包里面的uuid和后一个包里面的jpeg的头文件。)

 

参考
下载
Qtopia 1.7.0自由版安装
Qtopia 2.1.1自由版安装
Qtopia Phone 2.1.0 Eval安装
Qtopia Phone 2.1.2安装

参考

Building Qtopia from Source

下载

Qtopia的自由版可以到Trolltech的官方网站下载:

tmake-1.13.tar.gz
qtopia-free-1.7.0.tar.gz
qt-embedded-2.3.7.tar.gz
qtopia-free-source-2.1.1.tar.gz
qt-embedded-2.3.10-free.tar.gz
qt-x11-2.3.2.tar.gz

Qtopia的Phone Eval版需要下面这些包:

qtopia-phone-source-eval-2.1.0.tar.gz
qt-embedded-2.3.9-eval.tar.gz
qt-x11-2.3.2-eval.tar.gz
qt-x11-eval-3.3.0.tar.gz

 

Qtopia的Phone版需要下面这些包:

qtopia-phone-source-2.1.2.tar.gz
qt-embedded-2.3.11-commercial.tar.gz
qt-x11-2.3.2-commercial.tar.gz
qt-x11-commercial-3.3.4.tar.gz

 

假设你已经把上面的各个包下载到$HOME/Trolltech下了。

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

 

 

安装

安装的过程是参考$HOME/Trolltech/qtopia-free-2.1.1-debug/scripts/build_qtopia这个脚本文件进行的。启动脚本是参考$HOME/Trolltech/qtopia-phone-2.1.2-debug/bin/startphonedemo改写的。

 

Qtopia 1.7.0自由版安装

第一步,我们先准备一个shell文件,我这里以bash为例:

vi $HOME/shell/qtopia-free-1.7.0.sh

下面是shell文件的具体内容:

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-X86-g++ //针对X86处理器,针对ARM处理器应是linux-arm-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

然后就是让这个shell文件生效了。

source $HOME/shell/qtopia-free-1.7.0.sh

自由版中,因为Qtopia Desktop不能进行编译,所以编译过程中不需要编译Qt X11 3.x版本。我们这就开始编译了:

(1)安装qt-embedded-free-2.3.7
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 (2)安装qt-x11-free-2.3.2
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 (3)安装qtopia-free-1.7.0
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

编译已经完成了,Qtopia 1.7.0自由版中没有提供启动脚本,我们来写一个:

vi $HOME/shell/startpdademo-1.7.0.sh

下面是脚本内容:

#!/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 &

执行这个脚本就可以启动了,看看结果吧。

 

 

 

Qtopia 2.1.1自由版安装

第一步,我们先准备一个shell文件,我这里以bash为例:

vi $HOME/shell/qtopia-free-2.1.1.sh

下面是shell文件的具体内容:

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

然后就是让这个shell文件生效了。

source $HOME/shell/qtopia-free-2.1.1.sh

自由版中,因为Qtopia Desktop不能进行编译,所以编译过程中不需要编译Qt X11 3.x版本。我们这就开始编译了:

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

编译已经完成了,Qtopia 2.1.1自由版中没有提供启动脚本,我们来写一个:

vi $HOME/shell/startpdademo-2.1.1.sh

下面是脚本内容:

#!/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 &

执行这个脚本就可以启动了,看看结果吧。

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值