ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:18.98KB ,
资源ID:4347001      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4347001.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(qt的建立.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

qt的建立.docx

1、qt的建立4.1 tmake 安装tar xfvz tmake-1.11.tar.gzmv tmake-1.11 tmakeexport TMAKEDIR=$PWD/tmakeexport TMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g+4.2 QT编译tar xfvz qt-x11-2.3.2.tar.gzmv qt-2.3.2 qt-x11cd qt-x11export QTDIR=$PWDecho yes | ./configure -static -no-xft -no-opengl -no-smmake -C src/moccp src/moc

2、/moc binmake -C srcmake -C tools/designermake -C tools/qvfbcp tools/qvfb/qvfb binstrip bin/uic bin/moc bin/designer bin/qvfb4.3 QTE编译tar xfvz qt-embedded-2.3.7.tar.gzmv qt-2.3.7/ qtcp qt-x11/bin/?* qt/binexport QTDIR=$PWD/qtexport QPEDIR=$PWD/qtopiaexport TMAKEDIR=$PWD/tmakeexport TMAKEPATH=$TMAKEDI

3、R/lib/qws/linux-generic-g+export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATHcd qtmake cleancp ./qtopia/src/qt/qconfig-qpe.h src/tools/(echo yes; echo yes ) |./configure -platform linux-generic-g+ -qconfig qpe -depths 16,24,32make -C src4.5 QPE编译tar xfvz qtopia-free-1.7.0.tar.gzmv qtopia-free-1.7

4、.0 qtopia#tar xfvz e2fsprogs-1.35.tar.gz#cd e2fsprogs-1.35export LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib:$LD_LIBRARY_PATH#./configure#make#make install lib/uuid/将e2fsprogs-1.35/lib/目录下uuid的文件夹复制到qtopia/include下将e2fsprogs-1.35/lib/中的libuuid.a复制到/qtopia/lib下cd qtopia/src./configure -platform linux-gene

5、ric-g+make当在PC上模拟Qtopia的运行时,需要用到对应Qt版本的库文件,因此需要修改/etc/ld.so.conf 文件以适应刚刚安装的Qt(Redhat安装时带有Qt库,但不适合我们最新安装的版本),修改后的ld.so.conf文件内容如下:/wu2410/qt/lib/wu2410/qtopia/lib/usr/kerberos/lib/usr/X11R6/lib/usr/lib/sane修改完此文档后,为了让刚刚安装的库生效,必须运行ldconfig。 至此Qt的开发缓建已经建立(1)设置环境变量export QTDIR=$PWD/qtexport QPEDIR=$PWD/

6、qtopiaexport TMAKEDIR=$PWD/tmakeexport TMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g+export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH(2)启动虚拟帧缓存qvfb &或qvfb -width 640 height 480 &(3)运行qtopiaqpe &=1. Prepare software and cross-compile toolchainxscalev1.tar.gz arm交*编译工具链e2fsprogs-1.35.tar.gz 用于编译生成

7、libuuid库tmake-1.11.tar.gz 生成makefileqt-embedded-2.3.7.tar.gz Qt/Embeddedqt-x11-2.3.2.tar.gz Qt/X11qtopia-free-1.7.0.tar.gz QtopiaSuppose that we save these software to /root/qt-arm2. Install toolchain这里使用的是xscale板子提供的交*编译工具链cd /root/qt-armtar zxvf xscalev1.tar.gzmv xscalev1 /opt/vi /.bash_profile 添加

8、到PATH路径PATH=/opt/xscalev1/bin:$PATH addsource /.bash_profile3. Install tmaketmake用于交*编译生成qt应用程序的makefile, 也可用于生成qt的本地makefile,区别在于设置TMAKEPATH路径的不同,一个用于arm,一个用于x86。注意:tmake 机子上本来就有的,但我们要使用11以上的版本,如果是11以上的版本可以不用安装。tmake v 查看一下它的版本,有些版本比较老,建议换掉,同时把以前的tmake可执行文件删掉tmake使用:在某个qt工程文件夹内qmake project 生成工程文件

9、假定工程文件夹名hellotmake hello.pro o Makefile 生成makefilemake 编译连接成可执行文件cd /root/qt-armtar zxvf tmake-1.11.tar.gzvi tmake-1.11/lib/qws/linux-arm-g+/tmake.confTMAKE_LINK=arm-linux-g+ /将原来的arm-linux-gcc 改成 arm-linux-g+TMAKE_LINK_SHLIBS=arm-linux-g+mv tmake-1.11 /usr/local/vi /.bash_profile 添加以下一些信息PATH=/usr/

10、local/tmake-1.11/bin:$PATH 遖ddTMAKEPATH=/usr/local/tmake-1.11/lib/qws/linux-arm-g+export PATHexport TMAKEPATHsource /.bash_profile假如不用这种方法,可以直接用:export PATH=$PWD/tmake-1.11/bin:$PATHexport TMAKEPATH=$PWD/tmake-1.11/lib/qws/linux-arm-g+4. Install e2fsprogs为arm编译libuuid库cd /root/qt-armtar zxvf e2fspro

11、gs.tar.gzcd e2fsprogsmkdir buildcd build./configure -enable-elf-shlibs -build=i386-linux -host=arm-linux -with-cc=/opt/xscalev1/bin/arm-linux-gcc -with-linker=/opt/xscalev1/bin/arm-linux-ldmake其中lib/libuuid.so.1.2 libuuid.so.1 libuuid.so 即是我们需要编译的库5. Unpack Qtopiacd /root/qt-armtar zxvf qtopia-free-

12、1.7.0.tar.gzcd qtopia-free-1.7.0export QPEDIR=$PWD QPEDIR环境变量下面要用到6. Install Qt/Embeddedcd /root/qt-armtar zxvf qt-embedded-2.3.7.tar.gzcd qt-2.3.7export QTDIR=$PWDexport QTEDIR=$PWDexport PATH=$PWD/bin:$PATHexport LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATHvi src/kernel/qwsmouse_qws.cpp 修改触摸屏驱动,详见附件c

13、p $QPEDIR/src/qt/qconfig-qpe.h src/tools/./configure -shared -xplatform thread no-xft linux-arm-g+ -qconfig qpe -depths 4,8,16,32依次输入yes,novi src/Makefileadd -DQWS_CUSTOMTOUCHPANEL into QT_CXXFLAGS_OPTmake sub-src其中lib目录下的libqte.so.2.3.7即是我们需要的qte库,还有一些支持多线程的库7. Install Qt/X11编译qt-x11-2.3.2并非是用来开发,而

14、是Virtual为了产生编译qtopia必须的库以及用于在图形环境下进行调试的qvfb(Qt Virtual Frame Buffer)。这里安装qtopia时之要编译qt-2.3.2,是为了使用qt-2.3.2生成的uic,所以要用gcc/g+编译,不要用arm-linux-gcc/g+编译。注意不能直接用/usr/bin/uic,读者自己比较。cd /root/qt-armtar zxvf qt-x11-2.3.2.tar.gzcd qt-2.3.2/vi configs/linux-g+-shared 修改语句SYSCONF_CXXFLAGS_X11= -I/usr/include/fr

15、eetype2 斜体为我们要修改的语句export QTDIR=$PWDexport PATH=$PWD/bin:$PATHexport LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH./configure no-xftmakemake -C tools/qvfb/cp tools/qvfb/qvfb bin/./bin/qvfb & x11-FrameBuffer就运行起来了cp bin/uic $QPEDIR/bin/cp bin/uic $QTEDIR/bin/8. Build Qtopiacd /root/qt-arm/qtopia-free-1.7

16、.0cp /root/qt-arm/e2fsprogs/build/lib/libuuid.so* /opt/xscalev1/lib/cp /root/qt-arm/e2fsprogs/build/lib/libuuid.so* /opt/xscalev1/arm-linux/lib/cp -a /usr/include/uuid include/export QTDIR=$QTEDIRexport PATH=$PWD/bin:$PATHexport LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATHcd src/./configure -xplatform

17、linux-arm-g+ 需要交*编译make9. Running application运行程序有两种方式,一种是把相应的库和应用程序下载到板子上,另一种是通过nfs方式。9.1 running application in board将qt-2.3.7/lib 目录下载到板子上/usr/local/qt-embedded/目录下将qtopia-free-1.7.0目录下的文件(要做一些裁减工作,把不必要的文件删除)下载到/usr/local/qtopia目录下Minicom 登陆到开发板上下载步骤略export LD_LIBRARY_PATH=/usr/local/qt-embedded/

18、lib:$LD_LIBRARY_PATHexport LD_LIBRARY_PATH=/usr/local/qtopia/lib:$LD_LIBRARY_PATHcd /usr/local/qtopia/bin./qpe qws & 运行qpe程序,移植成功9.2 running application through nfs首先我们的pc机要开启nfs服务,详见开发板网络配置文档Pc机:vi /etc/exports/ *(rw, no_root_squalsh)/etc/rc.d/init.d/nfs start 开启nfs服务netstat au 查看是否开启nfs服务,如果没有查看防火

19、墙开发板:Minicom登陆到班子上mount t nfs o tcp 192.168.1.22:/root/qt-arm /mnt/qt-armcd /mnt/qt-armcd qt-2.3.7export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATHcd ./qtopia-free-1.7.0export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATHcd bin./qpe qws 运行qpe程序,移植成功附件1:触摸屏修改程序class QCustomTPanelHandlerPrivate : public QW

20、SMouseHandler Q_OBJECTpublic:QCustomTPanelHandlerPrivate(MouseProtocol, QString dev);QCustomTPanelHandlerPrivate();private:int mouseFD;unsigned char prevstate;private slots:void readMouseData();QCustomTPanelHandlerPrivate:QCustomTPanelHandlerPrivate( MouseProtocol, QString )#ifdef QWS_CUSTOMTOUCHPAN

21、ELif (mouseFD = open( /dev/ts, O_RDONLY) = 0)close(mouseFD);struct CustomTPdata unsigned char status;unsigned short xpos;unsigned short ypos;void QCustomTPanelHandlerPrivate:readMouseData()if(!qt_screen)return;CustomTPdata data;short data24=0;int ret;ret=read(mouseFD,data2,sizeof(data2);if(ret) data

22、.status=data20;data.xpos=data21;data.ypos=data22;QPoint q;q.setX(data.xpos);q.setY(data.ypos);mousePos=q;if(data.status & !prevstate) emit mouseChanged(mousePos,Qt:LeftButton); else if(!data.status&prevstate)emit mouseChanged(mousePos,0);prevstate=data.status;if(ret0) qDebug(Error %s,strerror(errno)

23、;=准备以下源码包和文件(可以从网上下载)tmake-1.11.tar.gzqt-embedded-2.3.7.tar.gzqt-x11-2.3.2.tar.gzqconfig-local.h假设源码包放在/home/build_qte/目录下cd /home/build_qte/1 tmake 配置tar zxvf tmake-1.11.tar.gz ; 解压tmake源码包cd tmake-1.11 ; 进入解压目录vi env.sh ; 建立shell文件,在文件中添加如下内容export TMAKEDIR=$PWDexport TMAKEPATH=$TMAKEDIR/lib/qws/l

24、inux-x86-g+export PATH=$TMAKEDIR/bin:$PATH保存退出.source env.sh ; 添加环境变量cd . ; 退出tmake-1.11目录2 配置编译qt-embedded源码包tar zxvf qt-embedded-2.3.7.tar.gzmv qt-2.3.7 qt-2.3.7-x86cd qt-2.3.7-x86cp /home/build_qte/qconfig-local.h src/tools/ ; qconfig-local.h文件在开发板提供的光碟上可以找到vi env.sh ;添加如下内容export QTDIR=$PWDexpor

25、t QTEDIR=$QTDIRexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATHexport PATH=$QTDIR/bin:$PATH;保存退出.source env.sh ; 添加环境变量./configure -qconfig local -gif -thread -qvfb -depths 4,8,16,32 ;配置源码包make sub-src ;编译cd .3 配置编译qt-x11源码包tar zxvf qt-x11-2.3.2.tar.gzcd qt-2.3.2export QTDIR=$PWDexport PATH=$QTDIR

26、/bin:$PATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH./configure -no-xft -no-openglmakemake -C tools/qvfbcp tools/qvfb/qvfb $QTEDIR/bin/cp bin/uic $QTEDIR/bincd .; 退出终端!4 实例; 建立qte开发的工作目录mkdir /home/qtecd /home/qte; 建立shell文件,设置环境变量vi set-qte-x86.sh; 在文件中添加如下#!/bin/bashexport QTDIR=/home/buil

27、d_qte/qt-2.3.7-x86 ;编译qt-2.3.7的目录export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATHexport TMAKEDIR=/home/build_qte/tmake-1.11 ;tmake-1.11的目录export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g+export PATH=$QTDIR/bin:$TMAKEDIR/bin:$PATHecho $PATH; 保存退出; 先不要执行source set-qte-x86.sh (不要设置环境变量); 建立工程目录mkdir he

28、llocd hello; 用designer生成工程文件(hello.pro), 窗体文件(hello.ui), 和main.cpp文件.progen -n hello -o hello.procd .source set-qte-x86.sh ;设置环境变量cd hello; 生成源文件uic hello.ui -o hello.huic hello.ui -i hello.h -o hello.cpp删除hello.pro, hello.ui文件, 省下hello.h, hello.cpp, main.cpp三个文件progen -o hello.pro ; 生成工程文件tmake hello.pro -o Makefile ; 生成Makefile文件make ;开始编译; 在PC机的模拟执行qvfb &; 新建终端, 在新建的终端中执行如下cd /home/qtesource set-qte-x86.shcd hello./hello -qws ; 执行刚才编译的hello.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1