首页| 论坛| 消息

标题:ubuntu9.04下编译qte-4.5.2全过程 及心得
作者:jasonshengxi
日期:2009-09-10 21:47
内容:

因为想利用qte在arm9上做界面,花了一天多时间,总算把ubuntu下的qte环境搭建起来。因为先想在x86上先了解下qt的api以及架构,所以我还没有搭建交叉编译的环境,只是构建号qvfb,并跑起了qte中的测试程序。以下是我的编译过程:(红色文字是网络上的一些相关参考资料)
在官方网站上下载
qt-embedded-linux-opensource-src-4.5.2.tar.gz
qt-x11-opensource-src-4.5.2.tar.gz
1 解压缩,编译 qt:
tar -xvf qt-x11-opensource-src-4.5.2.tar.gz
cd qt-x11-opensource-src-4.5.2
./configure -qvfb
sudo make
sudo make install
注: configure时需要加上 -qvfb,这是x86上运行qte程序的辅助程序

2解压缩,编译 qte:
tar -xvf qt-x11-opensource-src-4.5.2.tar.gz
cd qt-embedded-linux-opensource-src-4.5.2
./configure
sudo make
sudo make install
3 跑测试程序
qte 默认的路径是在 /usr/local/Trolltech/QtEmbedded-4.5.2/
先打开qvfb, 然后可以运行examples/下的测试程序如:
./undoframework -qws

完成
遇到的问题:
1 如果大家使用的是软件包程序直接安装的 qt,以及qvfb(没有进行相关配置),而不是使用源代码安装。则运行qte测试程序时候会报错:
Error opening framebuffer device /dev/fb0
QScreenLinuxFb::connect: No such file or directory
原因是Qt-Embedded在查找系统的显示设备时,默认去寻找LinuxFb,也即Linux的/dev/fb0设备,但是如果Qt- Embedded安装了其它显示设备,比如qvfb,则可以在qvfb上显示,但是需要一个插件(或者说驱动,可能会和设备驱动混淆),使Qt- Embedded能使用qvfb。 为了作到这一点,需要在编译Qt-Embedded时的configure命令加上如下选项
./configure -plugin-gfx-qvfb -plugin-kbd-qvfb -plugin-mouse-qvfb 或
./configure -qt-gfx-qvfb -qt-kbd-qvfb -qt-mouse-qvfb
如果,你不想重新编译Qt-Embedded,也可以单独编译qvfb的gfxdrivers,命令如下
$ cd qt-embedded-linux-opensource-src-4.5.1/src/plugins/gfxdrivers/qvfb/
$/usr/local/Trolltech/QtEmbedded-4.5.1/bin/qmake
$ sudo make install
对应所在的路径,在大家的机器上可能不尽相同,领会意思就行
完成后,再打开qvfb,然后运行qte测试程序,大家可以看到,qvfb窗口中出现了qte测试程序的界面

2 鼠标问题:体验qvfb中的qte程序,发现qvfb中鼠 ..


#1 [shiroki 09-14 22:06]
呵呵, 第一段红字是bug的名言
#2 [jasonshengxi 09-15 15:12]
呵 的确,估计这都是大家的常见问题
大概的把看了遍,发现qt的编程模式与mfc以及wxwidget还是有一定的区别
不过应该也会比较有意思的,希望能用在接下来的嵌入式开发中
#3 [jiapper 04-14 11:31]
这篇贴子比较早了,以前可能没有这样的做法.下面我介绍下。
打开命令终端,输入 sudo apt-get install qt4-dev-tools 回车。ok。
安装完后,输入 qvfb
看看是不是弹出了 virtual framebuffer
我图省事,当然你想搞清楚点的话,照上面的楼主的方法做。
也谢谢楼主,让我又学了点东西。

回复 发表
主题 版块