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

news/2024/7/10 4:54:27 标签: qt, makefile, library, path, application, shell

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数值联动调整效果。


http://www.niftyadmin.cn/n/846142.html

相关文章

iTOP4412|Android-4.4.4_r1 Gralloc

0 前言 《iTOP4412|Android-4.0.3_r1 Gralloc》分析了4.0.3_r1版本的Gralloc实现和使用i情况&#xff0c;本文继续基于android-4.4.4_r1进行分析。 1 HAL 和《iTOP4412|Android-4.0.3_r1 Gralloc》相比&#xff0c;就是源码路径发生了变化&#xff0c;其它的并没有多差异&…

rpm的用法

from http://www.pconline.com.cn/pcjob/system/linux/others/0411/502888.html在Linux操作系统中&#xff0c;有一个系统软件包&#xff0c;它的功能类似于Windows里面的“添加/删除程序”&#xff0c;但是功能又比“添加/删除程序”强很多&#xff0c;它就是 Red Hat Package…

iTOP4412|Android-5.1.1_r9 Gralloc

0 前言 《iTOP4412 Gralloc(4.4.4_r1)》分析了4.4.4_r1版本的Gralloc实现和使用i情况,本文继续基于android-5.1.1_r9进行分析。 1 HAL 和《iTOP4412 Gralloc(4.4.4_r1)》相比,并未太多变化: struct private_module_t HAL_MODULE_INFO_SYM = {base: { common: {tag: …

SpringMVC+Json构建基于Restful风格的应用

摘要 一个Spring使用Restful风格的案例主要代码&#xff1a; web.xml <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns"http://java.sun.com/xml/ns/javaee" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"…

iTOP4412|Android-4.0.3_r1 GraphicBuffer

0 前言 由《iTOP4412|Android-4.0.3_r1 Gralloc》第2.1小节可知,GraphicBuffer其实是对Gralloc的封装,本文对其进一步分析。 1 Gralloc 由《iTOP4412|Android-4.0.3_r1 Gralloc》可知GraphicBufferMapper和GraphicBufferAllocator分别是gralloc_module_t和alloc_device_t的封…

开机就提示“请安装TCP/IP协议,error=10106”的解决的方法

一、问题描写叙述&#xff1a; 今天开机时提示“请安装TCP/IP协议&#xff0c;error10106”&#xff0c;现象是popo&#xff0c;qq等登录不了&#xff0c;IE浏览器等连不了网&#xff0c;使用ping命令ping其它机器和路由器都能够收到返回的数据包&#xff0c;可是远程桌面连接不…

Silverlight 离线安装包

直接下载地址 https://www.microsoft.com/getsilverlight/locale/en-us/html/Microsoft%20Silverlight%20Release%20History.htm打开以上网址&#xff0c;查看最新版本&#xff0c;搜索KBXXXX号&#xff0c;再找到相应的 Security Update for Microsoft Silverlight (KBxxxxx)下…

iTOP4412|Android-4.0.3_r1 GLES EGL

0 前言 Android中常用到的3D图形库为OpenGL ES,它有硬件和软件两种实现,其中后者是开源的,本文对常用的API实现进行分析,以加深对OpenGL底层实现的理解。 相关:《NanoPC-T4|Android-Q GLES & EGL》 1 配置 EGL/GLES有软件和硬件两种实现方式,前者是android的开源项…