Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1255671
  • 博文数量: 261
  • 博客积分: 4196
  • 博客等级: 上校
  • 技术积分: 3410
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-17 17:05
文章分类

全部博文(261)

文章存档

2018年(1)

2017年(22)

2016年(2)

2015年(8)

2014年(27)

2013年(40)

2012年(161)

分类: LINUX

2012-03-16 13:52:16

(这种方法,本人没有试过)

本文介绍了如何在x86个人PC上搭建Qt Embedded开发环境。文中的内容是个人理解,不对之处请指正。
Qt libraries 4.6.x以及以后版本有了一些变化。编译X11版本的还是Embedded Linux版本的,取决于
./configure步骤后面加入的参数。而只要下载一个档案就可以了。省去了一些下载的时间。但是编译的
时间没有节省,同样是很漫长。废话不说,进入正题。

宿主机:Fedora 11 i686
Embedded 平台:arm
需要下载的软件包:qt-everywhere-opensource-src-4.6.3.tar.gz,可以到这里下载:

 


在这里说一下Qt X11以及Qt/Embedded在开发环境中的关系:

 

其实如果是在不需要QVFb的支持下,做嵌入式GUI的开发,不一定非得要安装Qt X11。嵌入式Qt的应用程序,
是直接通过写入到帧缓冲区显示的,而不需要X11的支持,由于X11需要耗费比较多的内存资源,这样子就可
以节省很多内存空间。QVFb是一个X11的应用程序,为了开发以及调试的方便,QVFb提供了一个虚拟的帧缓
冲,这样子我们就可以在一般的PC的桌面环境下开发以及调试Qt for Embedded的应用程序。虚拟帧缓冲使
用了共享内存模拟帧缓冲,然后qvfb工具把帧缓冲的内容显示到窗口上面。下面./configure步骤中要加入
-qvfb参数就是这个原因了。

好了,现在明白了我们要安装的那几个东西的关系了:Qt Embedded是为了提供Embedded平台的开发工具
以及开发库,最终编译好了的应用程序可以拿到嵌入式板子上运行。Qt X11为我们提供了qvfb这个很好的工具
,为我们开发以及调试Qt Embedded应用程序提供了一个仿真的环境。当然,我们也可以利用Qt X11来开发运行
于一般PC桌面的应用程序。

1.编译以及安装Qt Embedded
假设所有的工作都在~执行。qt-everywhere-opensource-src-4.6.3.tar.gz也在~下面。
$ tar -zxvf qt-everywhere-opensource-src-4.6.3.tar.gz
$ cd qt-everywhere-opensource-src-4.6.3
$ ./configure -embedded x86 -qvfb -opensource
# 提示:可以使用./configure -embedded -help获取更多的帮助
# 漫长的等待......
# 终于可以看到gmake的提示了
$ gmake
# 这里会提示你安装的目录,也就是默认的/usr/local/Trolltech/QtEmbedded-4.6.3-arm
# 也是漫长的等待......
$ su -c 'gmake install'
# --------------------------------------------------------------------------------
# 到这里,Qt Embedded成功安装。

2.编译以及安装Qt X11
$ tar -zxvf qt-everywhere-opensource-src-4.6.3.tar.gz
$ cd qt-everywhere-opensource-src-4.6.3
$ ./configure
$ 漫长的等待......
# 提示:如果要重新配置,请运行gmake confclean,然后再./configure
$ gmake
$ su -c 'gmake install'
# --------------------------------------------------------------------------------
# 到这里,Qt X11基本的东西已经成功安装。

3.编译以及安装工具qvfb
$ cd qt-everywhere-opensource-src-4.6.3/tools/qvfb
$ gmake
# 然后可以看到qt-everywhere-opensource-src-4.6.3/bin/qvfb这个工具了。
$ su -c 'gmake install'
# 把qvfb工具安装到系统目录,即/usr/local/Trolltech/Qt-4.3.6/bin/qvfb

4.设置环境变量
$ vi ~/.bashrc
# 然后添加如下内容
export PATH=$PATH:/usr/local/Trolltech/QtEmbedded-4.6.3/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Trolltech/QtEmbedded-4.6.3/lib

5.测试以及使用qvfb
$ cd /usr/local/Trolltech/QtEmbedded-4.6.3/examples/qws/framebuffer
$ ./frambuffer
# 这时候可以看到屏幕上顺序显示red,green,blue三种颜色
# 在tty终端下测试的效果比较好
$ 随便选择一个应用程序测试一下
$ cd /usr/local/Trolltech/Qt-4.6.3/bin
$ ./qvfb &
# 这里可以看到qvfb工具运行了
$ cd /usr/local/Trolltech/QtEmbedded-4.6.3/demos/affine
$ ./affine -qws
# 截图如下:

 

-------------------------------------------------------------------------------------------------------------

编译过程中收集到了一个错误,如下:
/usr/bin/ld: cannot find -lXtst
collect2: ld returned 1 exit status
gmake: *** [../../bin/qvfb] Error 1
解决办法:
$ cd /usr/lib
$ ls | grep 'Xtst'
# 此时显示一个文件,比如我的显示
# /usr/lib/libXtst.so.6
# /usr/lib/libXtst.so.6.1.0
# 对当中的一个创建软连接就可以了
$ su -c 'ln -s libXtst.so.6 libXtst.so'

 

参考资料:


阅读(1762) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~