Fedora9下建立QtEmbedded+4[1].5开发环境.doc_第1页
Fedora9下建立QtEmbedded+4[1].5开发环境.doc_第2页
Fedora9下建立QtEmbedded+4[1].5开发环境.doc_第3页
Fedora9下建立QtEmbedded+4[1].5开发环境.doc_第4页
Fedora9下建立QtEmbedded+4[1].5开发环境.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

///products-cn/whats-new-in-qt-1/luofuchong/archive/2009/04/25/56704.aspx开发环境: 【硬件】: 虚拟机VMWare6.0 【操作系统】:Fedora9 内核Linux2.6.25-14.fc9.i686 【交叉编译器】:arm-linux-gcc-4.3.2 【用户】:root具体步骤与说明:1.将光盘中的arm-linux-gcc-4.3.2.tgz 复制到某个目录下,然后进入到该目录,执行解压命令:tar xvzf arm-linux-gcc-4.3.2.tgz -C /注意:C 后面有个空格,并且C 是大写的,它是英文单词“Change”的第一个字母,在此是改变目录的意思。把编译器路径加入系统环境变量,运行命令gedit /root/.bashrc编辑/root/.bashrc 文件,在最后一行export PATH=$PATH:/usr/local/arm/4.3.2/bin如图,保存退出。执行该命令,将把 arm-linux-gcc 安装到/usr/loca/arm/4.3.2 目录。2.下载源码包(网址:/qt/source/)qt-x11-opensource-src-4.5.0.tar.bz2qt-embedded-linux-opensource-src-4.5.0.tar.bz23.编译及安装qt-x11-opensource-src-4.5.0qt-x11版本可以产生Qt开发工具,如designer等等,最重要的是可以得到qvfb,嵌入式的开发有了qvfb,就可以不需要实际的开发板,也可以开发Qt应程序。qt-embedded版本就是专门用于嵌入式方面的版本。tar xjvf qt-x11-opensource-src-4.5.0.tar.bz2cd qt-x11-opensource-src-4.5.0./configure (4分钟)make (近2小时)(15:0316:46)make install历经漫长的编译过程,默认安装在/usr/local/Trolltech/Qt-4.5.0下.编译完成后源程序不要删除,还有用。4.编译及安装qt-embedded-linux-opensource-src-4.5.0 将qt-embedded-linux-opensource-src-4.5.0.tar.bz2解压得到qt-embedded-linux-opensource-src-4.5.0,重命名为qt-embedded-linux-opensource-src-4.5.0-x86.再次解压qt-embedded-linux-opensource-src-4.5.0.tar.bz2,并重命令为qt-embedded-linux-opensource-src-4.5.0-arm.为什么有两个复制呢?我们可以从他们的名字上就不难看出前者是适合x架构的,后者适合arm架构的,如果有开发板的话,可以只编译qt-embedded版本成arm架构的就可以了,但是很多时候用qvfb的话,开发会方便很多,所以多编译一个x86架构的也不错。tar xjvf qt-embedded-linux-opensource-src-4.5.0.tar.bz2mv qt-embedded-linux-opensource-src-4.5.0 qt-embedded-linux-opensource-src-4.5.0-x86tar xjvf qt-embedded-linux-opensource-src-4.5.0.tar.bz2mv qt-embedded-linux-opensource-src-4.5.0 qt-embedded-linux-opensource-src-4.5.0-armcd qt-embedded-linux-opensource-src-4.5.0-x86./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.0-x86 -embedded x86 qvfb (4分钟)make (1.5小时)(8:4510:15)make install qt-embedded-x86被安装在/usr/local/Trolltech/QtEmbedded-4.5.0-x86下.cd qt-embedded-linux-opensource-src-4.5.0-arm./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.0-arm -embedded arm -no-opengl-no-qt3support debug -xplatform qws/linux-arm-g+ -embedded arm -depths 4,8,16,32./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.0-arm -release -shared -little-endian -no-qt3support -no-libtiff -no-libmng -qt-libjpeg -qt-gif -qt-zlib -qt-libpng -no-freetype -no-openssl -nomake examples -nomake demos -nomake tools -optimized-qmake -no-phonon -no-nis -no-opengl -no-cups -no-separate-debug-info -xplatform qws/linux-arm-g+ -embedded arm -depths 4,8,16,32 -qt-mouse-usb -confirm-license./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.0-arm -debug -shared -little-endian -no-qt3support -no-libtiff -no-libmng -qt-libjpeg -qt-gif -qt-zlib -qt-libpng -no-freetype -no-openssl -xplatform qws/linux-arm-g+ -embedded arm -depths 4,8,16,32 -confirm-license./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.0-arm -debug -shared -little-endian -no-opengl -no-qt3support -no-libtiff -no-libmng -system-libjpeg -qt-gif -system-zlib -system-libpng -no-openssl -xplatform qws/linux-arm-g+ -embedded arm -depths 16,24,32 -confirm-licensemake (10:3011:35)make installqt-embedded-arm被安装在/usr/local/Trolltech/QtEmbedded-4.5.0-arm下.5.至此我们已经安装好了qt-x11版,即在PC机上运行的QT,qt-embedded-x86版(x86体系的嵌入式板子上运行的QT)和qt-embedded-arm(arm板子上运行的QT).下一步:设置环境变量(1)qt-x11:vi setenv.sh添加如下内容:PATH=/usr/local/Trolltech/Qt-4.5.0/bin:$PATHLD_LIBRARY_PATH=/usr/local/Trolltech/Qt-4.5.0/lib:$LD_LIBRARY_PATH保存退出.移到/usr/local/Trolltech/Qt-4.5.0中。(2)qt-embedded-x86:vi setenv.sh添加如下内容:QTEDIR=/usr/local/Trolltech/QtEmbedded-4.5.0-x86PATH=/usr/local/Trolltech/QtEmbedded-4.5.0-x86/bin:$PATHLD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.5.0-x86/lib:$LD_LIBRARY_PATH保存退出.移到/usr/local/Trolltech/QtEmbedded-4.5.0-x86中。(3)qt-embedded-arm: vi setenv.sh添加如下内容:QTEDIR=/usr/local/Trolltech/QtEmbedded-4.5.0-armPATH=/usr/local/Trolltech/QtEmbedded-4.5.0-arm/bin:$PATHLD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.5.0-arm/lib:$LD_LIBRARY_PATH保存退出.移到/usr/local/Trolltech/QtEmbedded-4.5.0-arm中。我们在运行的时候分别运行对应的脚本即可,比如我们要用qt-x11:cd /usr/local/Trolltech/Qt-4.5.0source setenv.sh然后就可以用qmake designer等工具了.6.做到这一步还有qvfb没有编译,到qt-x11-opensource-src-4.5.0中重新编译qvfb即可cd qt-x11-opensource-src-4.5.0cd /tools/qvfbmake -会在qt-x11-opensource-src-4.5.0/bin下生成qvfb,我们将它copy至/usr/local/Trolltech/QtEmbedded-4.5.0-x86/bin下cp ././bin/qvfb /usr/local/Trolltech/QtEmbedded-4.5.0-x86/bin/7.做一个测试cd /usr/local/Trolltech/QtEmbedded-4.5.0-x86source setenv.shcd /usr/local/Trolltech/QtEmbedded-4.5.0-x86/demos/booksqvfb -width 640 -height 480 &./books -qws/usr/local/Trolltech *(rw,sync,no_root_squash)mount -t nfs -o nolock :/tmp /mnt/mount -t nfs -o nolock :/usr/local/Trolltech /mnt/mount -t nfs -o nolock -o tcp :/usr/local/Trolltech /mnt/export QTEDIR=/mnt/QtEmbedded-4.5.0-armexport PATH=/mnt/QtEmbedded-4.5.0-arm/bin:$PATHexport LD_LIBRARY_PATH=/mnt/QtEmbedded-4.5.0-arm/lib:$LD_LIBRARY_PATH. setenv ?http:/123/blog/static/214891520081027112113252/qtopia移植到2440 搭建平台:首先按照我的前面的一个总结里面的介绍nfs系统的搭建的过程,搭建,需要改的地方start的是nfs改成nfsserver,然后有个选项要改成(rw,sync,no_subtree_check)/etc/init.d/portmap restart/etc/init.d/nfsserver restart注意这里每次都要配置一下自己的网络 Ifconfig eth0 20Ifup eth0 安装gcc编译器:# tar zxvf gcc-3.4.1.tar.gz # ./configure (默认安装目录为:/usr/local) # make # make install 安装完成后,可执行文件放在/usr/local/bin目录下,库文件放在/usr/local/lib目录下。把usr目录拷贝到根目录里面source /etc/profile编译qtopia:在qtopia-core-opensource-src-4.3.3srcguiembeddedqmouselinuxtp_qws.h中为了支持触摸屏以后后面要用到的校准工作,加入 #define QT_QWS_IPAQ #define QT_QWS_IPAQ_RAW并在qmouselinuxtp_qws.cpp里把/dev/h3600_ts替换为自己板子的设备文件,我的板子的设备为/dev/h3600_tsraw,正好与qmouselinuxtp_qws.cpp中使用的设备中一致,就不用改了。其实我的是和这个不一样的,但是没有改,只是到时候把自己的那个做个ln,然后ln的和他的都一样就好了。新建一个专门用于编译的文件夹(为什这样做?_, 呵呵,直接在qtopia-core-opensource-src-4.3.3的目录下编译会包警告或者错误哦)#makedir build配置:#cd build#./qtopia-core-opensource-src-4.3.3/configure -release -no-qvfb -xplatform qws/linux-arm-g+ -embedded arm -no-stl -plugin-sql-sqlite -no-qt3support -no-nis -no-cups -no-iconv -no-qdbus -no-freetype -depths 4,8,16,32 -qt-mouse-linuxtp(加入触摸屏和校准)编译#gmake安装#gmake installqtopia-core-opensource-src-4.3.3将被安装到/usr/local/Trolltech/QtopiaCore-4.3.3-arm移植:只要把刚才编译的库文件,字体放到文件系统里面就可以了具体操作:在文件系统下新建一个文件夹,我是放到已经有的一个文件夹/opt/qt/下的 #cd opt #mkdir qt把/usr/local/Trolltech/Qtopia Core-4.3.3-arm/下的lib文件夹复制到opt/qt/下,复制前看下大小,你的flash是否放得下,我得flash是64M的,没问题。再在opt/qt下建立一个文件夹 qtopia,可以把你的应用程序放到这个里面。(这是超的哈!)QT运行环境的设置,建一个脚本文件qtopia_setup,放到/bin下吧。export set HOME=/root 设置root目录export set QTDIR=/opt/qt 设置目录export set QPEDIR=/opt/qtopiaexport set KDEDIR=/opt/qtexport set QWS_KEYBOARD=USB:/dev/input/event1 设置keyboard的怒路export set QWS_MOUSE_PROTO=linuxtp:/dev/h3600_tsraw 设置触摸屏的文件export set PATH=$QPEDIR/bin:$PATHexport QWS_DISPLAY=LinuxFb:mmWidth35:mmHeight45:0 设置显示的选项export QWS_SIZE=320x240 设置大小export set LD_LIBRARY_PATH=$PATH:$QTDIR/lib:$QPEDIR/lib 设置LD的路径,注意arm和qtopia的lib都要拷贝过来问题:我不知道为什么自己写的shell不能用,所以我只能手动的来完成这个功能了,也就是说我每次启动系统都要先把export set QWS_MOUSE_PROTO=linuxtp:/dev/h3600_tsraw设置触摸屏的文件,export set LD_LIBRARY_PATH=$PATH:$QTDIR/lib:$QPEDIR/lib设置LD的路径搞一遍,确实比较郁闷的哈,我再找找原因触摸屏校准的问题:由于qtopia4已经自带了触摸屏的校准程序,所以可以直接应用其校准程序来校准,但是需要一定的改动。首先我在编译之前对/dev下的触摸屏的驱动文件没有更改,则需要把自己的触摸屏文件与系统需要的文件路径做一个链接ln -s /dev/input/tsraw0 /dev/hs3600_tsraw然后一定要保证有正确的set环境变量的设置,否则对于触摸屏的校准是不准确的export set QWS_MOUSE_PROTO=linuxtp:/dev/h3600_tsraw上面已经提到不知道为什么我写的shell不能用,所以要手工添加了哈Cd /mnt/examples/qtopiacore/mousecalibration/ ./mousecalibration qws通过以上步骤就实现了校准,然后程序会自动终止,你就可以运行别的程序了;还有就是现在不能运行主界面,可能是我编译的时候不小心搞掉了,我也永不倒主界面,等以后慢慢的研究哈!开机的运行步骤(仅仅限于现在哈:):1、mount nfs系统 2、set环境变量 3、校正触摸屏 4、运行自己的程序问题:qpe: relocation error: /opt/qtopia/lib/libQtGui.so.4: symbol _floatsidf, version GCC_3.0 not defined in file libgcc_s.so.1 with link time e如果出现这种错误就说明你需要把pc上的/usr/local/arm/3.4.1/arm-linux/lib中的拷贝一份到板子的/lib下,问题就解决,问题的原因是板子里面lib目录中的libgcc跟pc上交叉编译器的libgcc版本不同造成的。如果出现其他的错误那可能是你设置的路径没有设置好,要重新set。还有就是如果出现一般的问题都是你的set的问题没有弄好,这个只要手工set一下就好哦了。解决:对于qtopia的主界面的问题就是在/bin目录下面生成一个qtopia或者qpe,不知道是哪个,然后就当作一般的运行文件运行就可以了,我的没有,如果有的话可以运行一下看下效果。下面是我用到的暂时的步骤:Sh /mountln -s /dev/input/tsraw0 /dev/h3600_tsrawexport set QWS_MOUSE_PROTO=linuxtp:/dev/h3600_tsrawexport set LD_LIBRARY_PATH=$PATH:/mnt/qtopia/lib:/mnt/qt/lib/mnt/examples/qtopiacore/mousecalibration/./mousecalibration qws然后就可以应用自己的应用程序了自己应用程序的配置编译:我们用的是/bin下的qmake的编译,一般在网上的说法都是qtopiamake,但是我的4.3.3里面只有我的qmake,所以我就要用qmake来进行编译了,但是一定要注意因为系统里面已经有qmake了,所以我必须加上绝对的路径,/mini2440/bin/qmake project 然后 /mini2440/bin/qmake,这样生成的才是能够交叉编译的文件,所以我们才能生成arm-linux-gcc 的时候,最后一步就是make就行了,因为已经生成Makefile了。/mini2440/bin/qmake project/mini2440/bin/qmakeMake关于windows的程序移植到linux下的问题:ISO C+ forbids declaration of with no type找到最后发现是我的windows下面的qt实在是太新了,是4.4的,有个类竟然在我用的qtopia里面的4.3里面都没有,郁闷死了,改动一下程序,去掉那个库,还有就是有一些不匹配的但是改动就可以用的,比较简单。另外在移植的时候,留下的只是你设计的那些文件,包括cpp和h,还有就是.ui和qrc文件,中间生成的ui_那些文件都要去掉,所以说我们留下的那些文件都是自己设计的,这样我们可以完全在windows下面设计好以后就可以了,然后可以完全的放到linux的qtopia去运行,真正的跨平台的运行哈,强烈推荐用哈。/blog/cns!390AF4E52022319A!540.entrymini2440 qt4 移植 利用清明节放假三天对mini2440进行了QT4.4.3的移植,到目前为止好像是成功了,不知道后面使用的时候会不会出现问题,还是先凑合着用吧。 由于mini2440的光盘里自带一个root_default.tgz根文件,因此省了很大一部分力气自己去裁剪,但是也有很大的缺陷就是:本身就对内核不熟悉,现在跳过了这一步,就更加不理解了。以后还是要补上来。 1.编译tslib-1.4 解压到/home下 #./autogen.sh #./configure -prefix=/home/duancp/mytslib/ -host=arm-linux ac_cv_func_malloc_0_nonnull=yes #make #make install-strip /生成瘦身应用程序和库 2.安装arm-linux-gcc-3.4.1.tar.bz2 在根目录下解压,解压后的默认目录在/usr/local/arm/3.4.1 设置环境变量,运行命令: vi /etc/profile 加入 export PATH=/usr/local/arm/3.4.1/bin:$PATH 3.编译qt-embedded-linux-opensource-src-4.4.3.tar.gz tar zxf qt-embedded-linux-opensource-src-4.4.3.tar.gzcd qt-embedded-linux-opensource-src-4.4.3 (我的QT的安装目录设置为根目录下的/minin2440) ./configure -prefix /mini2440 -release -shared -fast -pch -no-qt3support -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -no-openssl -nomake examples -nomake demos -nomake tools -optimized-qmake -no-phonon -no-nis -no-opengl -no-cups -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-xkb -no-sm -no-xinerama -no-xshape -no-separate-debug-info -xplatform qws/linux-arm-g+ -embedded arm -depths 16 -no-qvfb -qt-gfx-linuxfb -no-gfx-qvfb -no-kbd-qvfb -no-mouse-qvfb -qt-kbd-usb -confirm-license -qt-mouse-tslib -I/home/duancp/mytslib/include -L/home/duancp/mytslib/lib 上面的红色部分必须让找前面的tslib的目录设置,否则会出现“The tslib functionality test failed!”错误 ./make make install cd example/qws/mousecalibtration qmake &make (生成mousecalibtration可执行文件,后面需要将其拷贝到根文件中)4.制作根文件 我的工作目录是在根文件下,首先将root_default.tgz拷贝到根目录下,加压,生成root_default cd /root/root_default mkdir tslib cd tslib 为了方便,将编译的tslib下的bin、etc、lib文件夹全部拷贝过来 cp -a /home/duancp/mytslib/lib ./ cp -a /home/duancp/mytslib/bin ./ cp -a /home/duancp/mytslib/etc ./ cd etc vi ts.conf 将里面的第二条语句(#module_raw inout)前面的“#”去掉,否则后面触摸屏将不能使用 cd . mkdir mini2440 cd mini2440 因为我的flash有64M,为了方便,将QT4.4.3的lib文件夹全部拷贝过来,但是要删除fonts内除了wenquanyi_120_50.qpf 之外的其他文件,否则太大 cp -a /mini2440/lib ./ rm -rf fonts mkdir fonts cp -a /mini2440/lib/fonts/wenquanyi_120_50.qpf fonts 将前面编译的QT的触摸屏自带程序拷贝过来 cp -a /*/example/qws/mousecalibtration/mousecalibtration ./ cd /root 解压mkyaffsimage.tgz,得到mkyaffsimage可执行文件 ./mkyaffsimage root_default root.yaff2 得到根文件root.yaff2,如果要看一下大小,可以执行 ll root.yaff2 -h 这样可以将root.yaff2烧到板子上去了。 在板子上运行mousecalibtration的时候没有出现什么错误,可以正确的显示输入的汉字 目前在板子上运行的时候存在一定的问题:进入tslib运行ts_calibrate,总是提示ts_open: No such file or directory,这个问题一直没有解决,留在后面解决。 在板子上运行的时候环境变量如下: export QTDIR=/mini2440export LD_LIBRARY_PATH=$QTDIR/lib:$OPIEDIR/libexport PATH=$QTDIR/lib:$OPIEDIR/bin:$PATHexport QWS_MOUSE_PROTO=tslib:/dev/input/event0export TSLIB_ROOT=/tslibexport TSLIB_CALIBFILE=/etc/pointercalexport TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/tsexport TSLIB_CONFFILE=/tslib/etc/ts.confexport TSLIB_FBDEVICE=/dev/fb0export QWS_KEYBOARD=LIRC:/dev/lircd 要是在板子上运行的时候提示缺少某些文件的时候,就去在PC机上的linux下寻找,需要主要的是看若是提示缺少的文件是以个链接文件时,需要把链接对象也拷入 我在运行的时候缺少一个librt.so.1(具体记不得了,好像是这个)的文件,我的办法是把/usr/local/arm/3.4.1/arm-linux/lib下的该文件和其链接对象拷贝过来放在板子里的lib中,就ok了!/blog/static/4934746920091262530269/原创 QT4.4.3支持jpeg,gif及触摸屏 总结2009-02-26 14:05分类:原创 字号: 大大 中中 小小 以qt-embedded-linux-opensource-src-4.4.3.tar.gz为例一、编译tslib 下载最新的开发版本,见 http:/tslib.berlios.de/ 解压到/home下 生成 configure 文件,配置、编译、安装 #./autogen.sh #./configure -prefix=/home/mytslib/ -host=arm-linux ac_cv_func_malloc_0_nonnull=yes/*echo ac_cv_func_malloc_0_nonnull=yes tslib/arm-linux.autogen #为了防止出现undefined reference to rpl_malloc 错误*/ #make #make install-strip /生成瘦身应用程序和库二、编译qt源码 1、将源码解压到/home下 2、设置环境变量: 指定qt源码的路径 export QTDIR=/home/qt-embedded-linux-opensource-src-4.4.3 指定交叉编译工具 export PATH=/usr/local/arm/3.4.1/bin:$PATH 3、配置、编译、安装 #./configure -xplatform qws/linux-arm-g+ -embedded arm -shared -little-endian -qt-kbd-usb -qt-mouse-tslib -qt-libpng -qt-libjpeg -qt-gif -depths 4,8,16,32 -confirm-license -prefix /home/qt-embedded-opensource-4.4.3/ -I/home/mytslib/include -L/home/mytslib/lib #time gmake #time gmake install 4、说明 -qt-libjpeg -qt-gif (会在/home/qt-embedded-opensource-4.4.3/plugins/imageformats/下生成多个插件so库文件) -qt-mouse-tslib(添加触摸屏,注意要将它的头文件和库指定好即-I/home/mytslib/include -L/home/mytslib/lib,如果不添加链接的头文件和库配置时会提示:The tslib functionality test failed!You might need to add additional include and library search paths by passing the -I and -L switches to ,in -xplatform qws/linux-arm-g+)三、向目标板上库文件和板子上的环境配置,注意目录的创建 在板子上创建两个目录:qt4.4.3和tslib 1、移植qt库: 将/home/qt-embedded-opensource-4.4.3/lib下的动态库都拷贝到板子上qt4.4.3/lib,注意链接; 将字体拷贝到板子上/home/qt-embedded-opensource-4.4.3/lib/fonts,注意:不需要将所有的字体都拷贝到板子上qt4.4.3/lib/fonts,用一个就行; 移植jpeg,gif的插件库,将/home/qt-embedded-opensource-4.4.3/plugins/imageformats中的文件拷贝到板子上qt4.4.3/plugins/imageformats; 2、移植tslib库及测试程序 将/home/mytslib/lib/的动态库移植到板子上的tslib/lib,注意链接; 将/home/mytslib/lib/ts的动态库移植到板子上的tslib/lib/ts 将/home/mytslib/bin/的测试文件ts_calibrate移植到板子上的tslib/bin 将/home/mytslib/etc/ts.conf移植到板子上的tslib/etc/ 3、设置目标板上的环境变量 export QWS_DISPLAY=/dev/fb1 #export QWS_KEYBOARD=LIRC:/dev/lircd export QWS_MOUSE_PROTO=TSLIB:/dev/input/event0 export QWS_SIZE=800x600 export TSLIB_CALIBFILE=/*/tslib/etc/pointercal export TSLIB_CONFFILE=/*/tslib/etc/ts.conf export TSLIB_CONSOLEDEVICE=none export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_PLUGINDIR=/*/tslib/lib/ts export TSLIB_TSDEVICE=/dev/input/event0 export LD_LIBRARY_PATH=/*/qt4.4.3/plugins/imageformats/:/*/qt4.4.3/lib:$LD_LIBRARY_PATH export QT_PLUGIN_PATH=/*/qt4.4.3/plugins/ export QT_QWS_FONTDIR=/*/qt4.4.3/lib/fonts 四、测试tslib $cd /*/tslib/bin $./ts_calibrate 会在触摸屏上显示一个焦点,点击这一点,焦点会移动,继续点击,直到5个点都点完了为止,这就是五点测试,点击完后,会在/*/tslib/etc/下产生pointercal文件,此文件记录了,刚点击的五点的位置坐标 注意:目标板的kernel中一定要添加了tslib驱动,不然会提示:selected device uses a different version of the event protocol than tslib was compiled for 五、编写带有jpeg图片的应用程序 1、将图片编译到应用程序里;编译出来的可执行文件太大,cpu占用多。 a、创建应用程序 例如:main.cpp #include #include #include int main(int argc, char *argv) QApplication app(argc, argv); QLabel *label = new QLabel; label-setPixmap(QString:fromUtf8(:/images/test.jpg); label-setGeometry(0,0,800,600); label-show(); return app.exec(); b、创建资源文件*.qrc,应用程序同一目录下有一个images文件夹中有一张test.jpg图片 images/test.jpg c、创建工程文件*.pro #qmake -project /生成工程文件 修改工程文件*.pro ;添加 QTPLUGIN += qjpeg和RESOURCES += tmp.qrc QTPLUGIN += qjpeg TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . # Input SOURCES += main.cpp RESOURCES += tmp.qrc d、编译 #qmake #make e、将生成的可执行文件放到板子上运行,就会在触摸屏上显示 2、图片在板子上,应用程序中指定图片的路径;编译出的可执行文件小,cpu占用率小;路径一定要指定对 a、创建应用程序 例如:main.cpp #include #include #include int main(int argc, char *argv) QApplication app(argc, argv); QLabel *label = new QLabel; label-setPixmap(QString:fromUtf8(images/test.jpg); label-setGeometry(0,0,800,600); label-show(); return app.exec(); b、创建工程文件 #qmake -project /生成工程文件 修改工程文件*.pro ;添加 QTPLUGIN += qjpeg QTPLUGIN += qjpeg TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . # Input SOURCES += main.cpp c、编译 #qmake #make d、运行 将可执行文件拷到板子上; 在可执行的文件的同一目录下创建images文件夹,并将test.jpeg放到该目录下; 运行可执行文件,就会在触摸屏上显示/sgnaw/archive/2008/06/07/2521285.aspx比较奇怪的是,Qt4 Designer 好象只是用来设计 UI 的(界面),于是我就用 KDevelop 来写 Qt4 的程序了,用 qmake-qt4 来编译 qt4 的程序。首先要确定自己 qmake(qt) 的版本,在 Linux 的 Terminal 里输入命令:qmake -v如果出现类似下面的信息,则表明当前默认的 qt 版本为 qt3Qmake version: 1.07a (Qt 3.3.8b)Qmake is free software from Trolltech ASA.则需要在 qt 的网站 / 去下载一个 qt4 。编译 qt4 可以看我前面的学习笔记。编译完后需要安装,即在编译完 qt4 之后,运行命令 make install 即可。安装好后执行命令:qmake-qt4 -v应该会有类似下面的信息:QMake version 2.01aUsing Qt version 4.3.4 in /usr/lib这表明可用 qm

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论