Qt移植学习之路 QT453至mini2440Word格式.docx
- 文档编号:16166609
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:11
- 大小:33.84KB
Qt移植学习之路 QT453至mini2440Word格式.docx
《Qt移植学习之路 QT453至mini2440Word格式.docx》由会员分享,可在线阅读,更多相关《Qt移植学习之路 QT453至mini2440Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
//下载:
qt-embedded-linux-opensource-src-4.5.3.tar.gz和
qt-x11-opensource-src-4.5.3.tar.gz
前者是移植到开发板上运行的,后者是方便在X86机上开发应用程序,待一切调试成功再经交叉编译后下载到开发板上运行。
从网上下载tslib-1.4.tar.gz包,这包用于管理触摸屏,例如可用于它来校正触摸屏,并保存校正数据。
2.编译安装tslib-1.4
把tslib-1.4COPY到Fedora9的/opt下,在Fedora9的终端下执行:
1.#cd/tmp
2.#tarzxvftslib-1.4.tar.gz――――――――(最后在/tmp下解压生成tslib)
3.#cdtslib
4.#./autogen.sh
5.#./configure--prefix=/home/mytslib/--host=arm-linuxac_cv_func_malloc_0_nonnull=yes
6.#make
7.#makeinstall
成功后可在/home下生成mytslib,进入mytslib可以看到有binincludelibetc四个文件夹。
我们暂时先不理它,在接下来的移植过程中才用到这些文件夹。
3.编译安装QT-X11-4.5.3
QT-X11-4.5.3是运行于linux平台下用于仿真QT应用程序的软件,这样你便可以在linux平台下把你应用程序都调试好,然后再利用QT4.5.3把应用程序编译成ARM版本下载至开发板,这样你就可以在开发板上运行你的QT应用程序了。
下面是安装步骤:
首先把qt-x11-opensource-src-4.5.3.tar.gz拷贝到Fedora9下的/tmp目录下,接着执行:
1.#tarzxvfqt-x11-opensource-src-4.5.3.tar.gz
2.#cdqt-x11-opensource-src-4.5.3
3.#./configure
4.#gmake//一般用时2-3小时,如果你的机子配置不太低的情况下
5.#gmakeinstall
安装OK后,在/usr/local/目录下生成Trolltech目录,这就是我们要用于在x86平台(Fedora9)下开发应用程序时所依赖的一些目录。
现在你可以进入/usr/local/Trolltech/Qt-4.5.3/examples下,进入一个例子,比如进入/usr/local/Trolltech/Qt-4.5.3/examples/widgets/analogclock下,你会发现,这个例子都已经编译好了,在Fedora9的终端下直接运行:
1.#./analogclock–qvfb
则在Fedora9的屏幕上出现下图:
也许你会想,我是否能重新编译一遍analogclock呢?
因为analogclock目录下有一个Makefile,于是执行:
1.#makeclean
2.#qmake–project
唉,你会发现,提示说找不到命令“qmake”,怎么办呢?
很简单,因为我们还没有设置环境变量,当然会找不到命令啦。
让我们来设置一下QT-X11-4.5.3的环境变量,首先进入你的安装QT-x11-4.5.3目录:
1.#cd/opt/qt-x11-opensource-src-4.5.3
在此目录下建立一个名为:
qt_x11_setenv.sh的shell文件,内容如下:
1.#!
bin/bash
2.PATH=/usr/local/Trolltech/Qt-4.5.3/bin:
$PATH
3.QTDIR=/usr/local/Trolltech/QT-4.5.3
4.MAINPATH=$QTDIR/man:
$MAINPATH
5.LD_LIBRARY_PATH=$QTDIR/lib:
$LD_LIBRARY_PATH
6.exportPATHQTDIRMAINPATHLD_LIBRARY_PATH
7.echo"
setqt-x11env.successful"
保存退出,在终端执行:
1.#sourceqt_x11_setenv.sh
终端回显:
setqt-x11env.successful
1.#echo$QTDIR
/usr/local/Trolltech/QT-4.5.3――――――说明:
环境变量设置成功。
在这之后,我们再执行一下:
1.#qmake–project(建立*.pro文件)
2.#qmake(产生Makefile文件)
3.#make(编译产生可执行程序)
如果没有错误将生成analogclock可执行程序,终端执行:
1.#./analogclock–qvfb
看看是否出现画面了~~~~~~~~~~
注意一点:
在每次进入qt-x11-linux-opensource-src-4.5.3目录中要#sourcesetenv-x11.sh
把环境变量设置好,否则又会出现无法编译。
成功后,是不是有点迫不及待地想自己试验一个QT程序呢,让我们来编写一个hello程序吧!
1.#cdqt-x11-linux-opensource-src-4.5.3//opt/qt-x11-opensource-src-4.5.3/examples/
2.#mkdirhello
3.#vihello.cpp
然后把下列源程序COPY到hello.cpp中。
1.#include<
QApplication>
2.nclude<
QPushButton>
3.intmain(intargc,char*argv[])
4.{
5.QApplicationapp(argc,argv);
6.QPushButtonb("
HelloWorld!
"
);
7.b.show();
8.QObject:
:
connect(&
b,SIGNAL(clicked()),&
app,SLOT(quit()));
9.returnapp.exec();
10.}
进入前记得执行sourcesetenv-x11.sh
1.#qmake–project(产生hello.pro文件)
3.#make(执行Makefile以生成可执行程序)
如果不出错在当前目录下生成hello可执行程序,既然生成了,那还等什么,执行吧。
1.#./hello–qvfb
我执行后就出图了,你的呢?
其实图是可以拉大的,你试试!
4.编译安装QT4.5.3
首先我们建立两个目录用来存放接下来编译出来的一些目标文件,在Fedora9的根目录下建立mini2440和tslib两个目录,终端执行:
1.#cd/
2.#mkdirmini2440
3.#mkdirtslib
接下来我们把qt-embedded-linux-opensource-src-4.5.3.tar.gzCOPY到/tmp下,终端执行:
1.#cd/tmp
2.#tarzxvfqt-embedded-linux-opensource-src-4.5.3.tar.gz
3.#cdqt-embedded-linux-opensource-src-4.5.3
1.#./configure-prefix/mini2440-release-shared-fast-pch-no-qt3support-qt-sql-sqlite-no-libtiff-no-libmng-qt-libjpeg
2.-qt-zlib-qt-libpng-qt-freetype-no-openssl-nomakeexamples-nomakedemos-nomaketools-optimized-qmake-no-phonon-no-nis
3.-no-opengl-no-cups-no-xcursor-no-xfixes-no-xrandr-no-xrender-no-xkb-no-sm-no-xinerama-no-xshape-no-separate-debug-info
4.-xplatformqws/linux-arm-g++-embeddedarm-depths16-no-qvfb-qt-gfx-linuxfb-no-gfx-qvfb-no-kbd-qvfb-no-mouse-qvfb-qt-kbd-usb
5.-confirm-license-qt-mouse-tslib-I/home/mytslib/include-L/home/mytslib/lib
上面最后一句“-I/home/mytslib/include-L/home/mytslib/lib”指明我们刚才编译出来触摸屏的库文件及头文件存放路径。
它前面的“-qt-mouse-tslib”表示将使用触摸屏。
然后执行:
1.#gmake
2.#gmakeinstall
上面编译时间较长,一般要2到3个小时。
这样,嵌入式版本的qt4装成功了,若想进行交叉编译,首先也得改变环境变量,所以也可以在当前目录下建一个环境变量的文件setenv-embedded.sh如下:
1.#geditsetenv-embedded.sh
这时跳出一个编辑文本输入:
1.PATH=/mini2440/bin:
2.QTDIR=/mini2440
3.MAINPATH=$QTDIR/man:
4.LD_LIBRARY_PATH=$QTDIR/lib:
5.exportPATHQTDIRMAINPATHLD_LIBRARY_PATH
保存退出。
每次进行qt4-embedded的交叉编译前先#sourcesetenv-embedded.sh,注意我们在编译QT应用程序时要用到上述变量。
下文会提到。
4.移植相关库文件至开发板
首我们得准备一个文件系统,我是根据友善提供的文档制作了一个文件系统,路径为/opt/studyarm/rootfs,其中rootfs就是我的根文件系统。
首先在rootfs的根目录下建立两个目录:
在开发板的终端下执行:
接下来我们要COPY我们刚才编译生成的一些库文件及配置文件至开发板上的mini2440,tslib。
我是用NFS方式挂载文件系统的,当然你可以用其它下载方式把目标库文件等下载到你的开发板就行。
因为是用NFS挂载方式,所以我在Fedora9终端上执行:
1.#cp–rf/home/myts
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Qt移植学习之路 QT453至mini2440 Qt 移植 学习 QT453 mini2440