Chinaunix首页 | 论坛 | 博客
  • 博客访问: 41855
  • 博文数量: 42
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 32
  • 用 户 组: 普通用户
  • 注册时间: 2014-10-30 10:34
文章分类
文章存档

2014年(42)

我的朋友

分类: 嵌入式

2014-12-04 15:32:58

实在zedboard上运行QT在懒兔子和超群晴天的博客的里面都有写过,还算比较详细,不过也算是为了完整性,rainysky还是要把整个的流程写一遍。在wiki里面也有完整的教材,大家可以参考下

www.eefocus.com/blog/link2url.php?link=http%3A%2F%2Fwiki.xilinx.com%2Fzynq-base-trd-qt

首先是下载qt的源码,最好是与你的qt的板卡一样,如果是按照三安装的qt可以用qmake –v命令查看版本,(如果你要是认真的看qt的安装过程,你会发现,里面也有显示qt的版本号)

1

可以看到rainysky用的是4.8.1的版本,不同的安装时间可能版本号不一样。QT源码的下载地址是

http://www.eefocus.com/blog/link2url.php?link=http%3A%2F%2Freleases.qt-project.org%2Fqt4%2Fsource%2Fqt-everywhere-opensource-src-4.8.1.tar.gz 根据你自己版本号,将4.8.1改成你自己的,就可以下载源码包啦。Rainysky将下载的源码包放在了共享目录下,并且建立/opt/zedboard/qt 文件夹,命令如下:为了能保存好安装好的文件,在新建两个文件夹 /opt/zedboard/qt/build  /opt/zedboard/qt/install ,效果如下

2

之前我们已经配置好了交叉编译环境使用的环境变量PATH CROSS_COMPILE,为了方便操作,还可以在设置如下几个环境变量。

export ZYNQ_QT_BUILD=/opt/zedboard/qt/build

export ZYNQ_QT_INSTALL=/opt/zedboard/qt/install

export PATH=$ZYNQ_QT_INSTALL/bin:$PATH

效果如下

3

记得一点,当你把这个终端关闭的话,环境变量就会失效,需要重新在设置下环境变量,如果想方便一点的话,可以安装(二)里面设置交叉编译环境一样,设置新的环境变量。

   将源码包复制到build文件夹下面,并且解压。

4

5

 为了能够安装配置QT,还需要下载一个软件包,Qt/Qwt sources archiveqt_build_src.tar 见附件),和qt的源码包一样。复制解压。
  
6
解压出来是四个文件:
  • qt-everywhere-opensource-src-4.7.3.tar.gz – Qt source archive
  • qmake.conf – Qt qmake configuration file
  • qwt-6.0.1.tar.bz2 – Qwt source archive
  • qwtconfig.pri – Qwt qmake project include file
其实我们需要的只是qmake.conf 这一个文件,其他都不需要,(以后你会发现这个文件的更强大的功能,现在先不对这个文件进行修改),qt_build_src.tar里的qmake.conf配置文件复制到qt-everywhere-opensource-src-4.8.1/mkspecs/qws/linux-arm-gnueabi-g++目录下,这个文件用来告知QMake应该用哪个编译器来编译QT工程
然后对QT进行配置,配置文件如下:
./configure \
       -embedded arm \
       -xplatform qws/linux-arm-gnueabi-g++ \
       -little-endian \
       -opensource \
       -host-little-endian \
       -confirm-license \
       -nomake demos \
       -nomake examples \
       -prefix $ZYNQ_QT_INSTALL
整个为:
  
7
其中-prefix $ZYNQ_QT_INSTALL是告诉系统,安装的路径在哪的
配置完成后进行编译:
make
编译好了就可以进行安装(安装需要在root权限下进行,rainysky进入系统的时候就是root权限,这样很方便):
make install
焦急的等了快半个小时,终于编译完成了。在install文件夹下面,就是安装的文件:
  
8
wiki百科里面,还讲了编译Qwt,但我们用不到,也就没有进行编译,感兴趣的可以安装上面的来。
由于rainysky用的系统是SD自带的那个精简版的系统,容量比较小,没法直接将编译的文件复制到里面,只能做一个镜像啦。
做镜像的方法如下:
cd $ZYNQ_QT_BUILD
dd if=/dev/zero of=qt_lib.img bs=1M count=80
mkfs.ext2 -F qt_lib.img
chmod go+w qt_lib.img
mount qt_lib.img -o loop /mnt
cp -rf $ZYNQ_QT_INSTALL/* /mnt
chmod go-w qt_lib.img
umount /mnt
解释一个,bs=1M count=80这句话代表的意思是建的镜像的大小是80M,所以复制的时候要注意一点啦,不要比这个大。
    此时在/opt/zedboard/qt/build 下面的文件qt_lib.img就是qt的库文件啦。
  至此qt移植成功了。要把qt的程序在板卡上运行,必须需要一个可执行文件,已我们上一节的helloworld为例
  
9
在上图中的路径下以此输入
qmake –project
qmake
make
即可生成可以在zedboard上运行的helloworld程序
  
10
可以看到在输入qmake的时候生成了Makefile文件。
在zedboard板卡上运行的时候的命令为 ./helloworld -qws
阅读(879) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~