Qtopia开发及应用平台的搭建

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
 
Qtopia开发及应用平台的搭建
       Qtopia开发平台主要指宿主机上带X Windows的Linux系统中的Qtopia开发环境,包括Qt designer,uic,tmake,qvfb,Qt/E库和qpe等。
       Qtopia应用平台则指基于ARM或其他嵌入式处理器的嵌入式Linux系统。
 
       因此,搭建不同的平台,虽然用到了相同的软件包,但在过程中使用的是不同编译器和编译参数,得到的是针对不同处理器的库文件和可执行文件以及工具。具体可以参考和对比《Build Qtopia for x86》和《Build Qtopia for arm》。因而要分别搭建两套Qtopia平台。
      
例如,如果在Build Qtopia for x86时,出现错误:
/usr/bin/ld: skipping incompatible /qte_x86/qtopia-1.7.0/lib /libqpe.so when searching for –lqpe
/usr/bin/ld: cannot find –lqpe
不细心的话只看到找不到libqpe.so,但是经检查发现/qte_x86/qtopia-1.7.0/lib有此文件,又认为不在链接路径内,加入链接路径,还是出现同样错误。其实仔细注意上面一行,已经提示说在搜索libqpe.so时跳过了/qte_x86/qtopia-1.7.0/lib下的不兼容的libqpe.so文件。因此根本问题在于不兼容,而不是不存在,或者说是不存在可用格式的libqpe.so文件。可用file命令检查文件信息:
# file ../lib/libqpe.so
ELF 32-bit LSB shared object, ARM, version 1(ARM), not stripped.
显然是在之前的操作中错误选择了不合适的编译器和编译参数,生成了不兼容的库文件所导致。
因此,在说库文件找不到或不可用时,除了要检查文件是否存在以及是否在可用的链接路径下时,还要注意检查兼容性,比如针对的处理器,ELF还是BSD,.so(共享库)还是.a(静态库)。
 
再比如,搭建好这两个平台后,可以用file指令查看所生成工具的属性。下面是查看Qtopia for arm的qpe的结果:
# file qpe
qpe: ELF 32-bit LSB executable, ARM, version 1(ARM), for GNU/Linux 2.0.0. dynamically linked(uses shared libs), not stripped.
若查看Qtopia for x86,则结果中相应部分为Intel 80386,version 1(SYSV).
 
下面引用了 bucketxp在论坛中的发言
一般编译 qtopia ,需要三样东西,在宿主机运行的 uic 指令,目标机的 libqte 库,还有 qtopia 源码。 不管你的目标机是 arm 还是 x86 ,首先你要生成一个 uic 指令,这个 uic 指令是随 Qt/Embedded 源码附带,在 tools 里。而要生成这个 uic 指令,你首先要有一套在主机运行的 libqte 库。而生成这个 libqte 的时候不能加 -qconfig qpe ,这也就是你当初为什么加了 -qconfig qpe 出错的原因。 有了 uic ,第二步是编译一个在目标机上 libqte 库,这个时候如果你要用它来生成之后的 qtopia ,编译的时候必须加上 -qconfig qpe ,这就是你为什么加了 -qconfig qpe 会出错的原因。实际上完整编译一个 qtopia 的库应该有三个目录:
qte-2.3.10-host (就为了生成 uic
qte-2.3.10-target (生成为 Qtopia 所用的 libqte
qtoipa-free-2.1.1 (生成 Qtopia
你出错的原因在于,虽然你 host target 都是 x86 但是,任需要有两个版本的 Qt/Embedded  
 
sunshinezss libqassistantclient.la 是在 make tools 的时候生成的,应该在 $QTDIR/lib 目录中,你看看有没有。如果没有,说明你在 make tools 的时候有什么问题,或者没有走 make tools 这一步。 qt-2.x 有的版本会出现这个问题,在 make 中没有包含 make tools 这个阶段。
你可先 make tools 一下,再去 make example ,试试看。
如果按照 lao_la 的方法复制了 qconfig-qpe.h ,你在 configure 配置的时候加上 -qconfig qpe 就可以用这个配置文件来配置你的 Qt/Embedded
不过,这个配置文件是当你要用 Qt/Embedded 来生成 Qtopia 的时候才用的,他会禁止 Qt/Embedded 的许多功能和属性来使其具有更高的性能来运行 Qtopia ,所以你使用了这个配置文件后,你会发现许多的 example 都编译不过去,因为它们所需要的功能并没有包含在你用 qconfig-qpe.h 生成的 Qt/Embedded 的库里。
 
平台搭建好之后,则进入Qtopia应用程序的开发的学习和研究阶段。具体内容可见〈Qtopia应用程序的开发〉。
 
另外,在搭建平台过程中,还有许多没有弄明白的问题。例如在搭建过程中各个软件包之间的依赖关系,那些步骤链接了哪些库,e2fsprogs到底是什么?-no-xft又是什么?tmake在哪些环节起了作用?如何看懂make过程中显示的信息?Makefile的进一步学习和研究,等等。希望在以后能有机会推出〈Qtopia平台搭建深入探讨〉一文
详解qtopia4.4.3移植到mips处理器以及相关问题总结 最近公司做一个linux手机项目,需要做一个图形界面程序,移植qtopia,其中遇到一些难题也折腾了1个多星期,总算是弄好了,这里总结一下。分为以下几部分: 1 编译运行x86版本的qtopia 2 编译移植mips处理的qtopia 3 在qtopia4.4.3下编译运行helloworld程序 4 编译运行中遇到的问题和解决方法 5 qtopia的qconfigure选项详解 6 阅读详情

相关推荐

Qt、Qt E、Qtopia Core和Qtopia之间的区别和联系

总结来说,Qt是一个跨平台的C++应用程序开发框架,Qt E是专注于嵌入式系统的Qt的扩展版本,Qtopia Core是Qtopia的核心部分,提供了基本的嵌入式应用程序开发平台,而Qtopia是一个完整的嵌入式应用程序开发和运行环境,包含了Qtopia Core以及其他组件和工具。Qtopia Core是Qtopia的核心部分,它是基于Qt和Qt E构建的一个嵌入式应用程序开发平台Qtopia Core是基于Qt和Qt E构建的,它包含了Qt的核心功能以及Qt E的扩展功能。启动应用程序的事件循环。

LogicGuruX的博客 288

Qtopia的编译过程

非常完整的嵌入式Qtopia的编译过程,图文都有,对大家还是有些帮助的。。

深入理解Qtopia:构建和配置Qtopia环境

本文详细介绍了如何构建和配置Qtopia环境,包括下载源码包、设置构建目录、配置环境变量、构建过程以及如何使用Qtopia特定的工具和库。还探讨了如何创建自定义的Qtopia应用程序,并通过一个简单的单位转换器应用程序示例来说明开发过程。

weixin_35826166的博客 889

uic下载 qtopia-free-2.2.0/bin/uic:命令未找到

uic下载 qtopia-free-2.2.0/bin/uic:命令未找到 解决:将此文件复制到qtopia-free-2.2.0/qt2/bin目录下

Qt、Qte、Qtopia三者的区别

Qt、Qte、Qtopia三者的区别 Qt 泛指 Qt software的所有版本的图像界面库,包括 Qt/X11(Unix/Linux)、Qt Windows、Qt Mac等,但这只是相对于二进制来说的。Qt作为一个跨平台的GUI框架,在源码上对所有平台都是一致的。Unix/Linux上最流行的桌面环境之一KDE就是采用Qt来写的。 Nokia 在2008年收购 Trolltech 后,将...

《好好先生》专栏 3611

什么是Qtopia

Qtopia 是基于 Qt 开发的一个软件平台,主要用于采用嵌入式 Linux 系统的 PDA 或移动电话, Qtopia 提供了窗口操作系统、游戏和多媒体、工作辅助应用程序、同步框架、 PIM 应用程序、 Internet 应用程序、 开发环境、输入法、 Java 集成、本地化支持、个性化选项以及无线支持等,用于缩短制造商的开发周期。 TrollTech 公司在 08 年被 Nokia

骨头和狗的博客 3415

Qt/Qte/Qtopia三者的区别

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34258078的博客 283

基于mini2440的qtopia应用程序开发之一:搭建平台+友善之臂的错误分析

本文内容: 1:分析Qt、Qt/E 、qtopia的关系。 2:如何搭建qtopia开发平台。 3:分析友善之臂的错误以及基于此理解x86-qtopia和arm-qtopia.     其实搭建环境本身是个比较容易理解的过程,只不过由于Qt、Qt/E 、qtopia版本繁多,相互之间又有一 些不兼容的问题,关于这三者之间的关系, 参考:http:

默默的努力 652

嵌入式linux_qtopia平台开发说明

    LINUX系统中QT(qtopia)平台开发说明    =================================        黄德智(compiler_hdz@hotmail.com)            V:1.0        日期:20060305        QT 版本 :20060106V2一、开发包的获取================    最新的

笑看源码 2993

基于Qt/Embedded和Qtopia的GUI设计(转)

导读:   1 引言   随着当前各种手持设备、无线设备及信息家电等嵌入式产品的迅猛发展,相应的嵌入式软硬件设计技术也在发生深刻的变化。如今,越来越多的嵌入式终端需要一个图形化的人机接口界面(GUI),良好的人机接口界面是嵌入式系统设计的一个关键技术,能够极大地提高人机交互的效率。本文详细阐述了在自行开发的嵌入式主板上实现某平台的图形显示终端过程。   2 系统平台介绍   根据系统设计需

zozowit的专栏 1149

LINUX系统中QT(qtopia)平台开发说明

LINUX系统中QT(qtopia)平台开发说明 ================================= 黄德智([email]compiler_hdz@hotmail.com[/email]) V:1.0 日期:20060305 QT 版本 :20060106V2 ...

weixin_33785972的博客 210

qtopia2.2.1移植

<br />[原创]博创QT2(qtopia2.2.1)实验补充<br />一、编译本机QT环境:<br />宿主机:RH9<br />编译器:gcc 3.2.2<br />源码包:<br />工作目录:/root/x86QT <br />############ build x86 QT ###########################<br />设置环境变量:<br />cd x86QT<br />export QTEDIR=$PWD/qt-2.3.10<br />export QT2DIR=$P

dqmengxiang的专栏 860

[转载]LINUX QT 开发环境的搭建

开发模式:<br />               在宿主机Federa上通过qvfb来模拟帧缓冲<br />               开发完毕后使用qt-embedded重新编译后下载程序到ARM上运行(ARM上需要安装Qt)开发所需软件:qtopia-free-1.7.0.tar.gz qt-x11-2.3.2.tar.gz tmake-1.11.tar.gz qt-embedded-2.3.7.tar.gz 配置时设置qvfb: ./configure -qconfig -qvfb -depths

hyqhero的专栏 747

4-12-7 嵌入式linux之QT7(末尾附带博客讲解视频地址,看图需下载pdf)

Qte的讲解1.1linux桌面gui系统与embedded linux gui system 中qt的发展先说明一下QT是一个跨平台的c++图形用户界面库。目前包括qt,qtopia(也叫qte),快速开发工具qt designer等。Qt支持所有的unix系统。他的优点有:1优良的跨平台特性,2面向对象的程序设计思想,良...

贵在坚持 777

嵌入式系统学习——x86-qtopia添加应用

x86-qtopia中添加应用(基于mini2451-Friendly) 环境: Redhat vmware11 mini2451开发板 arm-Linux-gcc 4.3.2 qtopia-2.2.0 安装: 参考友善的mini2451用户手册,分别安装x86平台和arm平台qtopia-2.2.0。 友善在/opt/这个目录下,产生了两个子目录,分别是x86-qt

hjf161105的博客 482

linux+QT项目开发(三)

2011-10-24开始学习开发TQ2440开发板 1.更改U-boot开机LOGO,更改方法和开发手册上完全一样,实验OK 2.通过USB口烧写linux核和文件系统,也基本实现。(有点小雾水) 3.准备搭建linux的编译环境,编译自己的linux核,并进行移植,方法遵循《移植手册》。20:14分 2011-10-24 (这里应该多看几遍《移植手册》,里面的方法讲的非常的清楚)  

lishan1998的专栏 763

Qtopia2.2.0下的应用程序

<br />    原来以为Qtopia下的应用程序的开发与单纯的Qt/embedded下开发有很大的差别,后来发现除了加了一个包装基本是一样的。<br />    首先说明安装的东西,用的是FriendlyARM的ARM9板子,里面的使用手册提供了Qtopia的编译环境及Qt2的designer等设计工具(Qtopia是在Qt2基础上做的,具体的信息可搜下)。<br /> (一)   具体编译安装Qtopia的过程不说了,只说解压后,Qtopia里有其示例程序,比如example文件下的applicati

要想到做到 3435

mini2440上qtopia应用程序开发步骤(x86-qtopia版本)

FriendlyARM在光盘中提供了开发Qtopia-2.2.0的开发环境和软件,因此只要对其中的软件好好加以利用就可以开发出能够在mini2440上运行的程序,下面我把我自己开发经历做一个交流,我相信在我们这群技术的热爱者中不乏高人和大牛,所以我也是抛砖引玉,如果有说的不对的请大家提出来,这样才能更好进步。好,闲话不多说,进入正题,我先讲讲FriendlyARM中提供的开发环境和软件的作

zzf0707的专栏 1625
上一篇: 基于Qt/Embedded嵌入式Linux GUI的移植开发
下一篇: QT搭建问答2410
LinuxBoy1985
博客等级 码龄19年 13粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值