电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

QtEmbedded在嵌入式linux下的开发环境建立与移植Qt

20页
  • 卖家[上传人]:大米
  • 文档编号:471028198
  • 上传时间:2023-12-23
  • 文档格式:DOC
  • 文档大小:59.50KB
  • / 20 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、. . . . Qt/Embedded在嵌入式linux下的开发环境建立与移植摘要:本文主要介绍了在嵌入式linux系统下QT/Embedded开发环境建立与移植。通过大量源代码与分析,建立起在linux主机和s3c2410下的Qt/开发环境,再对QT/E程序进行移植。关键词:Qt/Embedded;嵌入式;linux 引言Qt/Embedded是奇趣科技推出的基于Linux的嵌入式平台开发工具,是Qt的嵌入式版本。它继承了Qt的全部标准API,提供了比Xlib和XWindows系统更加紧凑的窗口生成系统,对FrameBuffer直接进行操作(见图1)。完全模块化的设计和高效的编译系统减少了存的消耗,这些使Qt/Embedded成为嵌入式环境中,功能强大而全面的GUI开发工具。由于KDE等项目均使用Qt作为支持库,所以许多基于Qt的X Windows程序可以非常方便地移植到Qt/Embedded版本上。Qt/Embedded具有面向对象、跨平台和界面设计方便美观等优点,已得到了广泛的应用。本文主要通过大量的源代码,建立起linux主机和s3c2410下的QT/Embedded开发环境,

      2、并指出其移植方法。1前期准备本文所用到的宿主机操作系统为RED HAT 9.0,目标平台为三星公司的S3c2410。需要准备的软件包如下:1)jpegsrc.v6b.tar.gz 安装libjpeg库,因为配置Qt/E支持jpeg时需要jpeglib.h、 libjpeg.a、libjpeg.so这三个文件;2)e2fsprogs.1.35.tar.gz -安装libuuid库,因为交叉编译时需要用到此库;3)qt-embedded-free-3.3.5.tar.gz -编写嵌入式图形界面所需的软件包;4)qt-x11-3.3.4.tar.gz -编写嵌入式图形界面所需的软件包。2Qt/E开发环境的建立21 Jpeg6b的安装与配置Jpeg6b的安装和配置比较简单,过程如下:#cd /usr/src#tar xzvf jpegsrc.v6b.tar.gz /解压#cd jpeg-6b#./configure enable-shared enable-static/配置,既生成静态又生成共享库文件#make#cd /usr/local#mkdir man /注意建立man和man1文件夹

      3、#cd man #mkdir man1#cd /usr/src/jpeg-6b#make install /编译并安装完成后会在/usr/include目录下生成jpeglib.h,在/usr/local/lib目录下会生成libjpeg.a和libjpeg.so两个库文件,如果没有则说明安装不成功。22安装并交叉编译arm的libuuid库#cd /usr/src#tar xvzf e2fsprogs-1.35.tar.gz /解压#cd e2fsprogs-1.35#./configure -host=arm-linux -with-cc=arm-linux-gcc -with-linker=arm-linux-ld -enable-elf-shlibs -prefix=/usr/local/arm/2.95.3/arm-linux/配置生成基于ARM平台的libuuid库文件#make install /编译并安装#cd lib#cp dR libuuid.* /usr/local/arm/2.95.3/arm-linux/lib/将生成的库文件拷到ARM交叉编译工具链所在的li

      4、b目录。将交叉编译后生成的libuuid库拷到arm的交叉编译工具链目录中时应注意检查生成的libuuid.so、libuuid.so.1、libuuid.so.1.2是不是arm交叉编译完成的(file libuudi.so.1.2 如果显示为:ELF 32-bit LSB Sshared,ARM,Version1(ARM),not stripped则表示正确)。23安装Qt/X11#cd /usr/local#tar xvfz qt-x11-free-3.3.4.tar.gz#mv qt-x11-free-3.3.4 qtx#cd qtx#export QTDIR=$PWD /设置环境变量,在编译的时候要用到#export PATH=$QTDIR/bin:$PATH#export LD_LIBRARY_PATH =$QTDIR/lib#./configure -depths 4,8,16 -no-ipv6 -no-cups -no-pch qvfb -depths 4,8,16,32 /配置,可以通过./configure -help来获得帮助信息#make /编译#make in

      5、stall24 安装Qt/Embedded编译并安装Qt/Embedded主要是为了生成基于ARM核的Qt/E库文件,将这些库文件移植到ARM平台中就可以运行通过QT开发出来的GUI程序了,下面列出其安装步骤:#cd /usr/local#tar xvzf qt-embedded-free-3.3.5.tar.gz#mv qt-embedded-free-3.3.5qte#cd qte#export QTDIR=$PWD /设置环境变量#export PATH=$QTDIR/bin:$PATH#export LD_LIBRARY_PATH =$QTDIR/lib:$LD_LIBRARY_PATH接着拷贝jpeg库头文件到Qt/E的include中,因为在编译的时候要用到:#cp /usr/include/jpeglib.h $QTDIR/include/#cp /usr/include/jconfig.h $QTDIR/include/#cp /usr/include/jerror.h $QTDIR/include/#cp /usr/include/jmorecfg.h $QTDIR/

      6、include/#cp /usr/local/qtx/bin/uic $QTDIR/bin/#./configure -shared -embedded arm -qt-gif -no-exceptions -thread -no-nis -no-cups -no-stl -qt-imgfmt-mng -qt-imgfmt-png -qt-imgfmt-jpeg -qt-sql-sqlite -qvfb -depths 4,8,16,32#make /编译,最终生成基于ARM平台的Qt/E库文件:libqte-mt.so、libqte-mt.so.3、libqte-mt.so.3.3、libqte-mt.so.3.3.5到此,整个Qt/Embedded的开发环境全部建立起来了。3.Qt/Embedded在硬件平台上的移植Qt/E移植主要是将交叉编译Qt/E时生成的库文件移植到目标板的文件系统中:#cd /home/root /root为我们存放文件系统的目录#mkdir qt#cd qt#mkdir lib#mkdir bin#cp -dR $QTEDIR/lib/libqte-mt.

      7、* ./ /将编译Qt/E生成的库文件拷到lib目录中,在这里主要是用到lib中的4个文件:libqte-mt.so、libqte-mt.so.3、libqte-mt.so.3.3、libqte-mt.so.3.3.5最后我们通过NFS将生成的文件系统加载到硬件目标平台上。4开发流程整个开发环境建立起来后,开发流程如下:1)先在宿主机调用QTX下的designer工具,建立工程文件,编写程序并调试(例如建立hello.pro)2)确认程序无误后,调用QTE下的qmake对工程文件进行交叉编译/usr/local/qte/bin/qmake hello.pro;make;3)把交叉编译生成的二进制执行文件放到目标板的文件系统中cp hello /home/root/qt/bin4)在目标板上运行#export QTDIR=/qt#export PATH=$QTDIR/bin:$PATH#export LD_LIBRARY_PATH =$QTDIR/lib:$LD_LIBRARY_PATHHello qws5总结本文主要讲述了Qt/Embedded开发环境的建立和移植,本文主要介绍了在嵌入

      8、式linux系统下QT/Embedded开发环境建立与移植。通过大量源代码与分析,建立起在linux主机和s3c2410下的Qt/E开发环境,再对Qt/E程序进行移植,文章最后还指出QT程序的开发流程。参考文献1Blanchette J.C+GU I Programming wit h Qt 3Z.TrolltechAS.2004.2Trolltech.Qt Reference documentation version 31314Z.2004.3泽建,嵌入式水文信息采集智能终端的研究与设计,工业大学学位论文M.2003摘 要:QT是一个用于多种平台图形界面程序开发的C+工具包。同时QT还包含了一些工具使得编写程序变得又快又直接。QT的跨平台能力和国际化支持保证了QT应用程序占有尽可能广阔的市场。Qt/Embedded是面向嵌入式系统的QT版本。主要讲述Qt/Embedded库中基于ARM的嵌入式Linux系统下的移植,同时使用一个简单的应用程序来说明Qt/Embedded应用程序的开发流程。关键词:QT;Qt/Embedded;交叉编译;ARM QT是Trolltech公司开发的一个

      9、多平台的C+图形用户界面应用程序框架。Qt采用了完全面向对象组件编程技术,支持多平台。Qt提供图形用户界面在嵌入式系统上开发的一系列开发工具包。该图形系统最大的优点是采用面向对象设计,移植性好,基于X Window的Qt桌面应用程序可以非常方便的移植到嵌入式系统上。 Qt/Embedded是在嵌入式环境下所使用的Qt。目前市面上所有上市的Linux PDA都是采用Qt/Embedded作为图形接口的函数库。Qt/Embedded的特性是可以直接在Framebuffer上显示图形接口,反应的速度更快,这对硬件和容量都有限制的嵌入式环境非常重要。 主要介绍QT在基于ARM的嵌入式Linux系统下的移植与应用。1 Qt/Embedded开发环境介绍 Qt/Embedded应用程序的开发可以在安装了一个跨平台开发工具链的不同的平台上编译。系统采用的是在Linux平台下开发,在Linux平台下以虚拟缓冲帧的方式来运行,其实是有一个X11的应用程序虚拟了一个缓冲帧。通过指定显示设备的宽度、高度和颜色深度,虚拟出来的缓冲帧将和物理的显示设备在每个像素上保持一致。这样每次调试应用时开发人员就不用总是刷新嵌入式设备的FLASH 存储空间,从而加速了应用的编译、和运行周期。 运行Qt 的虚拟缓冲帧工具的方法是:在Linux 的图形模式下运行命令:qvfb(回车) 当Qt 嵌入式的应用程序要把显示结果输出到虚拟缓冲帧时,

      《QtEmbedded在嵌入式linux下的开发环境建立与移植Qt》由会员大米分享,可在线阅读,更多相关《QtEmbedded在嵌入式linux下的开发环境建立与移植Qt》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.