把桌面qt代码编译运行到qpe上的一个例子

来源:互联网 发布:淘宝怎么搜烟 编辑:程序博客网 时间:2024/03/29 22:01

qt-x11版本是2.3.2
qt core版本是2.3.2
qtopia版本是2.2.x
qt-x11版本安装目录下的tutorial目录下有一些例子。我把其中的t7目录下的程序(这是一个lcd数值联动调整的简单例子)编译到qpe上运行。
前提是qtopia的x86版已经装好,并且配置好shell的环境变量QTDIR(qt桌面版的安装目录,可能用到此目录下的qmake,qt designer等工具),QPEDIR(qtopia的安装目录),QTEDIR(QT/E核心库在安装后的根目录),LD_LIBRARY_PATH(以上三个目录下的库文件所在目录,一般在这些目录的lib下),PATH中还要加上moc,uic,qmake等路径。一个例子如下:
export QPEDIR=/home/dongjiajing/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia
export QTOPIA_DEPOT_PATH=/home/dongjiajing/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia
export QTDIR=/home/dongjiajing/x86-qtopia/qtopia-2.2.0-FriendlyARM/dqt
export QTEDIR=/home/dongjiajing/x86-qtopia/qtopia-2.2.0-FriendlyARM/qt2
export PATH=$QPEDIR/bin:$QTDIR/bin:$QTEDIR/bin:$PATH
export LD_LIBRARY_PATH=$QPEDIR/lib:$QTDIR/lib:$QTEDIR/lib:$LD_LIBRARY_PATH
然后把qt-x11版本下tutorial/t7下的源文件拷到一个自己创建的新工程目录,假设这个目录也叫做t7
#cd t7
#ls
lcdrange.cpp lcdrange.h main.cpp
修改main.cpp文件,把原来的的#include <qapplication.h>改为#include <qtopia/qpeapplication.h>
#qmake -project
生成了t7.pro
#在t7.pro最后加上如下这句表示生成的执行文件名是t7
TARGET=t7
#qmake -o Makefile -spec /home/dongjiajing/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/mkspecs/qws/linux-generic-g++ t7.pro
表示按照linux-generic-g++目录下的配置文件描述的方式,由这个t7.pro文件生成对应的Makefile
修改这个Makefile,把LIBS的值改成-lqtopia2 -lqtopia –lqpe,表示只连接这些库这是qtopia和桌面版qt可执行程序的根本区别。
#make
成功的话在当前目录生成t7,这就是最终的执行文件。
把这个执行文件t7拷到$QPEDIR/image/opt/Qtopia/bin下(如果要用quicklunch方式运行参看其他资料),然后再在$QPEDIR/image/opt/Qtopia/apps/Application下添加一个桌面配置文件t7.desktop,内容如下:
[Desktop Entry]
Exec=t7 #表示在bin中的执行程序名
Type=Application
Name=name_t7 #在窗口管理中看到的这个desktop文件的名称
当然这只是最简单的配置,更复杂的其他配置可以参考其他资料。

如下观看这个程序在qtopia上的运行效果:
#qvfb -width 240 -height 320 -depth 16 &
#/home/dongjiajing/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/bin/qpe
成功的话会看到qtopia的窗口,在Application栏中左击name_t7图标就可以看到lcd数值联动调整效果。

原创粉丝点击