原创 Ubuntu 9.04下QT和QTE的构建

2010-1-5 15:51 3836 5 7 分类: MCU/ 嵌入式

    经过千辛万苦,终于把QT和QTE的开发环境在Ubuntu 9.04下搭建好了。为了感谢QT前辈们文章的帮助,也为了给后辈们一个参考,在此记录下整个安装过程。


    首先先去ftp://ftp.qtsoftware.com/qt/source/ 这里下载我们所需要的源文件:qt-x11-opensource-src-4.5.0.tar.bz2和qt-embedded-linux-opensource-src-4.5.0.tar.bz2,有个这二个文件就可以正式安装了。在安装前,请先更新一下系统,主要是更新g++和libx11,用apt-get  install libc6-dev g++ gcc和sudo apt-get install libx11-dev命令完成更新。


第一步:安装qt-x11-opensource-src-4.5.0


编译前请先确保系统里已经安装好交叉编译环境arm-linux-gcc,交叉编译环境可以自己编译,也可以用别人已经编译好的。这个不是本文重点讨论的对象。


tar xjvf qt-x11-opensource-src-4.5.0.tar.bz2


cd qt-x11-opensource-src-4.5.0


./configure


make


sudo make install


其中make的时间大概要4-5个小时(取决于电脑配置)。关键问题来了,因为我们编译前根本不知道系统里缺少那些包和组件,所以只能在make的过程中一个个的发现,每发现一个就要重新make,所以就算前一次已经编译好90%,那么也得重新编译,幸好我这里编译的时候就提示少了二个包,一次是在编译30分钟后,一次是在编译2个小时后。有错误不要害怕,也不要担心,只要一条命令就可以搞定了:sudo apt_get install *** 其中***就是你那个错误提示所需要的包名字 。知道上面这些,基本上编译就没有问题了。就是4~5个小时等得很蛋疼~~默认安装路径是/usr/local/Trolltech/Qt-4.5.0下.编译完成后源程序先不要删除,接下来编译qvfb的时候还有用的上。这个时候进去/usr/local/Trolltech/Qt-4.5.0/bin,用ls命令可以看到qmake这个文件了,输入./qmake会出现qmake的帮助文档:


Usage: qmake [mode] [options] [files]


QMake has two modes, one mode for generating project files based on


some heuristics, and the other for generating makefiles. Normally you


shouldn't need to specify a mode, as makefile generation is the default


mode for qmake, but you may use this to test qmake on an existing project


..........


此时,qt-x11-opensource-src-4.5.0就算是完全安装好了。


第二步:安装qt-embedded-linux-opensource-src-4.5.0


    解压qt-embedded-linux-opensource-src-4.5.0文件,并且复制二份,一个起名为qt- embedded-linux-opensource-src-4.5.0-x86,另外一个起名为qt- embedded-linux-opensource-src-4.5.0-arm。从名字上就可以看出,一个是在PC上运行的,一个在开发板上运行的。


tar xjvf qt-embedded-linux-opensource-src-4.5.0.tar.bz2


mv qt-embedded-linux-opensource-src-4.5.0 qt-embedded-linux-opensource-src-4.5.0-x86


tar xjvf qt-embedded-linux-opensource-src-4.5.0.tar.bz2


mv qt-embedded-linux-opensource-src-4.5.0 qt-embedded-linux-opensource-src-4.5.0-arm


先安装qt-embedded-linux-opensource-src-4.5.0-x86:


cd qt-embedded-linux-opensource-src-4.5.0-x86


./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.0-x86 -embedded x86 -qvfb


make


sudo make install


同样,make阶段也要大概4-5个小时,不过由于之前编译过X11,所需要的包都已经安装好了,所以这个阶段应该不会有错误,一路到底。至此,qt-embedded-x86被安装在/usr/local/Trolltech/QtEmbedded-4.5.0-x86下。继续安装qt-embedded-linux-opensource-src-4.5.0-arm


 cd qt-embedded-linux-opensource-src-4.5.0-arm


./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.0-arm -embedded arm


make


sudo make install


同样,在make阶段需要4-5个小时(看文章的同学心理说),我知道肯定不少同学会以为这里也要这么长时间,可是实际上呢,这回2个小时就可以搞定了。惯性思维还是挺可怕的吧。至此:qt-embedded-arm被安装在/usr/local/Trolltech/QtEmbedded-4.5.0-arm下


经过上面这些步骤,我们就算安装好QT-X11和QT-Embedded啦。下面设置环境变量:


转到/usr/local/Trolltech/Qt-4.5.0下      sudo vi setenv.sh 添加内容:


QTDIR=/usr/local/Trolltech/Qt-4.5.0


PATH=$PATH:/usr/local/Trolltech/Qt-4.5.0/bin


LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Trolltech/Qt-4.5.0/lib


保存退出


转到/usr/local/Trolltech/QtEmbedded-4.5.0-x86    sudo vi setenv.sh 添加内容:


QTEDIR=/usr/local/Trolltech/QtEmbedded-4.5.0-x86


PATH=$PATH:/usr/local/Trolltech/QtEmbedded-4.5.0-x86/bin


LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Trolltech/QtEmbedded-4.5.0-x86/lib


保存退出


转到/usr/local/Trolltech/QtEmbedded-4.5.0-arm下   sudo vi setenv.sh 添加内容:


QTEDIR=/usr/local/Trolltech/QtEmbedded-4.5.0-arm


PATH=$PATH:/usr/local/Trolltech/QtEmbedded-4.5.0-arm/bin


LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Trolltech/QtEmbedded-4.5.0-arm/lib


保存退出


需要运行的时候,先运行对应的setenv.sh即可,比如在/usr/local/Trolltech/Qt-4.5.0运行source setenv.sh后,就可以qmake的designer了~~


第三步:编译qvfb


    转到qt-x11-opensource-src-4.5.0中,


cd qt-x11-opensource-src-4.5.0


cd /tools/qvfb


make


这个make一会儿就好了,不过这个过程中可能会提示没有某个头文件,不要担心,继续用sudo apt-get install ***安装后重新make就行了,完成后在qt-x11-opensource-src-4.5.0/bin下生成qvfb,拷贝到usr/local/Trolltech/QtEmbedded-4.5.0-x86/bin这个目录下


cd  qt-x11-opensource-src-4.5.0


cd bin


cp qvfb /usr/local/Trolltech/QtEmbedded-4.5.0-x86/bin


下面开始运行demo


cd /usr/local/Trolltech/QtEmbedded-4.5.0-x86


source setenv.sh


cd  demos


cd  books


qvfb -width 640 -height 480 &


./books -qws


如果看到下图,则说明一切OK


点击看大图


到此,本次QT和QTE的安装全程结束。


PS:安装好后,源文件夹可以删除,但是为了下次不要再忍受那make的4-5小时,你可以把三个文件夹都打包保存起来,我就是这么干的。当然要是你是在虚拟机下运行的linux,那就不要保存了,因为本来虚拟机的空间就不大。我是用一整块硬盘来跑Ubuntu的。所以1.6G的空间只是一点点啦~~


PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户377235 2014-8-6 19:26

非常好的资料,非常感谢,搞定了

用户567305 2010-1-7 18:43

你好!看了你的文章受益很多,不过我按照你的步骤作的,最后运行例子的时候出现了如下错误:/books: symbol lookup error: ./books: undefined symbol: _ZN7QWidget8qwsEventEP8QWSEvent 不知道这是什么原因。
相关推荐阅读
用户1787 2010-04-12 15:43
u-boot顶层Makefile分析(转)
要了解一个LINUX工程的结构必须看懂Makefile,尤其是顶层的,没办法,UNIX世界就是这么无奈,什么东西都用文档去管理、配置。首先在这方面我是个新手,时间所限只粗浅地看了一些Makefile规...
用户1787 2009-12-14 11:36
Linux下GCC编程四个过程
在Linux下进行C语言编程,必然要采用GNU GCC来编译C源代码生成可执行程序。一、GCC快速入门Gcc指令的一般格式为:Gcc [选项] 要编译的文件 [选项] [目标文件]其中,目标文件可缺省...
用户1787 2009-12-09 22:27
VIM 新手指南
 术语约定: 如果没有特殊说明, 本文中提到的 VIM 指的是图形界面的 gvim 与字符界面的 vim 的统称, gvim 专指图形界面, vim 专指字符界面。1 让 gvim 正常工作VIM 是...
用户1787 2009-12-09 22:26
Vim的配置文件
" 设置字符编码。" encoding: Vim 内部使用的字符编码方式,包括 Vim 的 buffer (缓冲区)、菜单文" 本、消息文本等。用户手册上建议只在 .vimrc 中改变它的值,事实上似...
用户1787 2009-12-07 11:33
UBOOT详细解读
大多数bootloader都分为stage1和stage2两部分,u-boot也不例外。依赖于CPU体系结构的代码(如设备初始化代码等)通常都放在stage1且可以用汇编语言来实现,而stage2则通...
EE直播间
更多
我要评论
2
5
关闭 站长推荐上一条 /3 下一条