Ubuntu12.04下配置安装Qt4.6.3 及移植到mini2440开发板及其使用全过程

    安装Qt真的很烦人,怎么那么久,得三四个小时,好吧,我承认自己电脑配置低了,尤其是安装交叉编译版本的,那家伙叫一个费劲,昨天安装了一天都没成功,晚上拿回去宿舍安装,早晨起来看,还是没有安好,不过现在弄好了,大致的记录一下自己的过程,不详细讲解了。

          QT版本:qt-everywhere-opensource-src-4.6.3.tar.gz  自己去下就行了http://download.qt-project.org/archive/qt/4.6/

          Tslib:tslib-1.4.tar.gz  点此下载

理解Qt版本

   Qt是一个跨平台的开发工具,下面仅介绍两个版本:

   ● Linux/X11:用于 X Window System,支持KDevelop和Eclipse集成。它就是咱们在 linux 下用的版本。

   ● Embedded Linux:用于嵌入式Linux系统的版本,简称Qte。它可以通过编译移除不常使用的组件与功能。相对于 Linux 版的Qt,它不依赖X Lib而直接工作在Framebuffer上。它通过自己的视窗系统QWS,不需依赖 X Window System,直接写入Linux帧缓冲,可以减少存储器消耗,并提供虚拟帧缓冲QVFb,方便在桌面系统上进行嵌入式测试。

安装区别

   我在看书的时候一直不懂一个问题,到底Linux/X11版本的qt和ARM版本的安装方法有什么区别啊?后来安装的时候才知道,区别不大,我们仅需要一个qt-everywhere-opensource-src-4.6.3.tar.gz 文件,需要安装两次,下面我会分别介绍。

安装 Linux/X11 版本的Qt

   将 qt-everywhere-opensource-src-4.6.3.tar.gz 下载下来存放在一个文件夹

Ubuntu12.04下配置安装Qt4.6.3 及移植到mini2440开发板及其使用全过程_第1张图片

  执行命令:tar -zxf qt-everywhere-opensource-src-4.6.3.tar.gz   解压

Ubuntu12.04下配置安装Qt4.6.3 及移植到mini2440开发板及其使用全过程_第2张图片

  执行命令: cd qt-everywhere-opensource-src-4.6.3/  进去解压后的文件夹

Ubuntu12.04下配置安装Qt4.6.3 及移植到mini2440开发板及其使用全过程_第3张图片

执行命令:./configure    配置文件

 Ubuntu12.04下配置安装Qt4.6.3 及移植到mini2440开发板及其使用全过程_第4张图片

  会提示你选择一些选项,这里依次选择 o 、yes,回车继续。出现下图,告诉你接下来的步骤以及默认的安装路径 /usr/local/Trolltech/Qt-4.6.3

Ubuntu12.04下配置安装Qt4.6.3 及移植到mini2440开发板及其使用全过程_第5张图片

接着执行命令:make  ,编译,时间会很长的,等吧......我的电脑得用了三个多小时!

编译完成,再接着执行命令:make install  ,再等吧,它按照咱们的默认安装目录安装,安装完成后,在 /usr/local 下产生文件夹 Trolltech

Ubuntu12.04下配置安装Qt4.6.3 及移植到mini2440开发板及其使用全过程_第6张图片

接着配置环境变量:sudo vim /etc/profile  


在该文件最后一行加上:export PATH=$PATH:/usr/local/Trolltech/Qt-4.6.3/bin  


保存退出。执行命令:source /etc/profile


这时候,我们的安装已经完成了,在安装的时候可能会出现一些缺失xlib库的问题,一百度就行了。

现在利用自带的demo测试一下可不可以使用,进入 /usr/local/Trolltech/Qt-4.6.3/demos/mainwindow ,执行命令:./mainwindow,出现下面的界面,安装没有问题

Ubuntu12.04下配置安装Qt4.6.3 及移植到mini2440开发板及其使用全过程_第7张图片

或者可以自己编写一个Hello World程序(这种程序网上很多),自己验证一下。

安装适合 ARM的Qt 版本

   还是同样的 qt-everywhere-opensource-src-4.6.3.tar.gz  压缩文件,我先把之前安装x11的文件夹删掉,如下

Ubuntu12.04下配置安装Qt4.6.3 及移植到mini2440开发板及其使用全过程_第8张图片

然后再执行命令:tar -xzf qt-everywhere-opensource-src-4.6.3.tar.gz 解压

Ubuntu12.04下配置安装Qt4.6.3 及移植到mini2440开发板及其使用全过程_第9张图片

 进入解压后的文件夹,执行命令:./configure -prefix /home/song/software/qt -embedded arm  ,这里 -prefix 后面的是我打算安装的目录,书上的都是说指定 /usr/local/qt,但是我照书上的做法,不是 permission denied就是arm-linu-g++:not found,害得安了一夜都没安好!!这个目录你可以自己定。-embedded 后面说明的是咱们的安装版本是用来交叉编译用于arm的,不能变。

Ubuntu12.04下配置安装Qt4.6.3 及移植到mini2440开发板及其使用全过程_第10张图片

回车后,依次选择 o 、yes,过一段时间后,出现下图,提示你下一步的操作,可以看到,它安装的路径是咱们自己指定的路径

Ubuntu12.04下配置安装Qt4.6.3 及移植到mini2440开发板及其使用全过程_第11张图片

执行命令:make 编译,时间很长,等吧....

编译完成后,执行命令:make install 安装到咱们指定的路径。安装完成后,就会在我们指定的文件夹内生成如下文件


将安装好的 qt 文件夹拷贝至咱们的根文件系统的 /etc/local 目录下,如下

Ubuntu12.04下配置安装Qt4.6.3 及移植到mini2440开发板及其使用全过程_第12张图片

咱们再修改根目录下的 etc/profile 文件,添加Qte 的环境变量。在该文件中添加如下内容:

 QTDIR=/usr/local/qt
 export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
 export LD_LIBRARY_FILE=/etc/pointercal
 export QWS_MOUSE_PROTO=Tslib:/dev/input/event0
 export set QT_QWS_FONTDIR=$QTDIR/lib/fonts


这时候,关于qte移植到咱们的 s3c2440 板子上已经完成了,但是下面还要移植 tslib奥

安装并移植tslib

有关 tslib 的安装看这篇文章http://blog.csdn.net/mybelief321/article/details/9208199

下面介绍移植的步骤

  首先,在咱们制作好的根文件系统 /usr/local目录下新建一个 tslib 文件夹,然后把安装好的目录内的所有文件都复制到这个文件夹内

cp -arf /home/song/software/mytslib/*  ....../rootfs/usr/local/tslib/


修改根文件系统的 /etc/profile 配置文件,加入运行 tslib 的环境变量

 export TSLIB_ROOT=/usr/local/tslib
 export TSLIB_TSDEVICE=/dev/event0  (对应的触摸屏设备,根据实际情况修改)
 export TSLIB_FBDEVICE=/dev/fb0  (对应的 frambuffer 设备)
 export TSLIB_CALIBFILE=/etc/pointerrcal  (触摸屏校正生成的文件,运行***/tslib/bin/ts_calibrate产生)
 export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
 export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
 export TSLIB_CONSOLEDEVICE=none
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib

Ubuntu12.04下配置安装Qt4.6.3 及移植到mini2440开发板及其使用全过程_第13张图片

好了,现在可以利用nfs启动测试这个根文件系统了,关于nfs启动流程,请看:http://blog.csdn.net/mybelief321/article/details/9988767

测试

  分别执行:sudo /etc/init.d/portmap restart   重启portmap服务。nfs是一个RPC程序,使用它前,需要映射好端口,通过portmap设定。

                      sudo /etc/init.d/nfs-kernel-server restart  重启nfs服务。

  启动supervivi ,输入命令:param set linux_cmd_line "console=ttySAC0,115200n8 root=/dev/nfs nfsroot=211.64.20.161:/home/song/nfs/rootfs ip=211.64.20.167"

Ubuntu12.04下配置安装Qt4.6.3 及移植到mini2440开发板及其使用全过程_第14张图片

  进入系统了

 Ubuntu12.04下配置安装Qt4.6.3 及移植到mini2440开发板及其使用全过程_第15张图片

 进入 /usr/local/tslib/bin,然后执行 ./ts_calibrate  校正触摸屏

 

 校正完之后,再执行:./ts_test  ,测试咱们的tslib

 测试完 tslib 之后,再进入 /home 目录,这里有两个 QT 程序,任意执行一个,./mainwindow -qws

Ubuntu12.04下配置安装Qt4.6.3 及移植到mini2440开发板及其使用全过程_第16张图片

可以在开发板的屏上看到效果。

我把这部分的制作好的根文件系统,传上去,省得我以后弄丢了,点此下载

特别感谢启蒙文章!http://home.eeworld.com.cn/my/space-uid-173779-blogid-59535.html

你可能感兴趣的:(Ubuntu12.04下配置安装Qt4.6.3 及移植到mini2440开发板及其使用全过程)