x86版本Qtopia2.2.0的配置与编译

来源:互联网 发布:宇通 金龙 知乎 编辑:程序博客网 时间:2024/05/01 11:27

x86版本Qtopia2.2.0的配置与编译

       系统环境为Ubuntu10.04.3,使用的是友善提供的qtopia提供的源码包qtopia-free-src-2.2.0.tar.gz,由于使用高版本的编译器编译该qt图形系统会出现很多编译错误,在这里我们使用了一个补丁qtopia2.2.0.friendlyarm.patch,经本人实际测试,打上补丁后未出现一个编译错误。整个系统包括qtopia的编译以及qtopia应用程序的移植。

        一、qtopia2.2.0的编译

      (1)qtopia的配置

echo "yes" | ./configure -qte '-embedded -no-xft -qconfig qpe -depths 16,32 -qvfb -system-jpeg -gif' -qpe '-edition pda -displaysize 240x320 -fontfamilies "helvetica fixed micro smallsmooth smoothtimes"' -qt2 '-no-opengl -no-xft' -dqt '-no-xft -thread'

      (2) 配置完成后执行make命令进行编译,make install命令进行安装。

      (3)安装好以后,在qtopia/目录下会生成image/,接下来拷贝字库,进入qtopia/image/opt/Qtopia/lib/fonts目录,

               在该目录下执行命令cp ../../../../../../qt2/lib/fonts/* ./,该命令拷贝qt2/lib/fonts目录下的所有字库文件。

      (4)配置环境变量,gedit setenv.sh,输入以下内容:

              QTDIR=/opt/qtopia-free-2.2.0/qtopia/image/opt/Qtopia           #根据自己的实际路径进行修改
              QPEDIR=/opt/qtopia-free-2.2.0/qtopia/image/opt/Qtopia
              PATH=$QTDIR/bin:$PATH
              LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
              export QTDIR QPEDIR PATH LD_LIBRARY_PATH

      (5)运行qtopia,首先执行命令qvfb &启动虚拟帧缓冲工具,

               进入qtopia/image/opt/Qtopia/bin/目录执行命令./qpe -qws启动Qtopia即可。

        二、qtopia下应用程序的开发与移植

        应用程序的开发与编译依赖于已编译好的qtopia,我们以test程序为例进行说明,以下是其详细过程

        (1)设置环境变量,执行以下命令

                 source setQt2Env
                 source setDqtEnv
                 source setQteEnv
                 source setQpeEnv

                 export QMAKESPEC=$QPEDIR/mkspecs/qws/linux-generic-g++           #针对x86平台的编译器

         (2)创建工作目录test,执行designer test.ui命令启动qt设计程序,设计完成后保存退出即可。、

         (3)创建main.cpp文件,执行命令gedit main.cpp并输入以下内容

                 #include <qtopia/qpeapplication.h>
                 #include "test.h"
                 QTOPIA_ADD_APPLICATION("test",YourForm)
                 QTOPIA_MAIN

          (4)执行命令qmake -project创建工程文件,执行命令echo TARGET=demo >>test.pro向工程中追加内容。

          (5)执行qmake命令创建Makefile文件并编辑该文件,在-qte后面加上-lqpe

          (6)执行命令make进行编译。

          (7)将test程序复制到Qtopia/bin目录下,并在Qtopia/apps/Application目录下创建test.desktop,内容可仿照

                   该目录下的其他类似文件。如本人测试时内容如下:

                [Translation]
                File=QtopiaApplications
                Context=My Test
                [Desktop Entry]
                Comment[]=This is my first test program!
                Exec=test
                Icon=test
                Type=Application
                Name[]=My Test

          (8)进入Qtopia/pics目录,创建目录test并进入,可将其他目录中的png图片文件拷贝到该目录下,改名为test.png

          (9)重新启动qpe进行应用程序的测试即可。

 

补充说明:x86版本konqueror移植

        在编译之前,需要修改qtopia2.2.0的配置选项,将 "helvetica fixed micro smallsmooth smoothtimes"'改为unifont,修改文件

qtopia/src/qt/qconfig-qpe.h,将define QT_NO_CODECS注释掉。        修改konq目录下的konq-embed/dropin/ kglobalsettings.cpp文件,将"helvetica"改为"unifont"。        最后勿忘修改build和build-konq脚本文件,更改相关配置。