Ubuntu 10.10 安装 QT-embedded 开发环境


对于安装QT,一直纠结了很久很久。。。折腾了很久很久,连续一周,一天到晚都在摸索,不停地编译配置,不停地重做、撤销,到目前为止还不知道问题有没有彻底解决,先记录一下,后续遇到问题再修正今天的文章。

我的安装平台:

1.虚拟机VMware 7.0

2.嵌入式系统Ubuntu 10.10

2.交叉编译工具:arm-linux-gcc-4.3.2

3.QT安装包:

1)QT-X11-SDK简称做QT-X11:qt-sdk-linux-x86-opensource-2010.05.1.bin (其实就是Qt Creator !)

这是直接下载的编译好的二进制SDK包;其实也可以下载源代码包src然后再编译安装,网上有好多文章都是由源代码包编译后再安装的,在NOKIA官网上4.7.2版本的没有发现有源代码包。但是安装二进制文件可以节省编译时间和空间。安装好二进制文件之后仍需要独立编译QVFB。其实这个sdk包是QT Creator!一个IDE集成开发环境!可以省去你在终端中用命令行来编译和调试!但是有时候你也许会发现用命令行更爽!

2)Qt Embedded for Linux简称做QTE:qt-everywhere-opensource-src-4.7.2.tar.gz是源代码包;

                   

说明:其中QT-X11可以产生Qt开发工具,如qmake 、designer等等,最重要的是可以得到qvfb(因为sdk中并没有为什么编译好,所以qvfb的编译安装需要我们自己进行参见下一篇)。嵌入式的开发有了qvfb,就可以不需要实际的开发板,也可以开发Qt应用程序。QTE版本就是专门用于嵌入式开发的版本。所以我们需要分别编译运行于X86架构和arm架构的QT!

这两个安装包都可以直接在xp环境下下载,下载较快,然后放到虚拟机ubuntu里面。

下面开始安装:

1.建立目录

首先在/home/fengchao目录下新建/qtenv文件夹为了文件管理方便,再在qtenv下分别建立三个文件夹:arm,x86,qtsdk;使用mkdir命令或者直接在目录下右键新建。

qtsdk用于安装QT-X11;

arm用于存放QTE的arm版本;

x86用于存放QTE的x86版本。

2.安装QT-X11:

qt-sdk-linux-x86-opensource-2010.05.1.bin放在/qtsdk文件夹中

$ cd ~/qtenv/qtsdk
 

$ chmod u+x qt-sdk-linux-x86-opensource-2010.05.1.bin
 

$ ./qt-sdk-linux-x86-opensource-2010.05.1.bin

之后开始图形化的安装,像在xp环境安装软件一样,然后选择安装目录为/home/fengchao/qtenv/qtsdk,一路NEXT。

3.解压QTE源代码包

1)将源代码包分别复制到/arm和/x86下:

直接在目录下复制即可,不必使用命令行操作。

2)解压缩:

$ cd qtenv/arm

$ tar xzvf qt-everywhere-opensource-src-4.7.2.tar.gz

(解压gz文件用xzvf,解压bz2 文件用xjvf)
$ mv qt-everywhere-opensource-src-4.7.2 arm

(把/qt-everywhere-opensource-src-4.7.2目录下的文件放到/arm文件夹下,即改名为arm,方便输入)

$ cd qtenv/x86

$ tar xzvf qt-everywhere-opensource-src-4.7.2.tar.gz

 (解压gz文件用xzvf,解压bz2 文件用xjvf)
$ mv qt-everywhere-opensource-src-4.7.2 x86

(把/qt-everywhere-opensource-src-4.7.2目录下的文件放到/x86文件夹下,即改名为x86,方便输入)

4.解压缩后分别针对arm平台和x86平台进行编译配置

编译arm版本的QT

 

$ cd ~/qtenv/arm
$ ./configure -prefix $HOME/qtenv/arm -
embedded arm -nomake docs -nomake demo -nomake examples
$ sudo
make
$ sudo make install

编译x86版本的QT

$ cd ~/qtenv/x86

$ ./configure -prefix $HOME/qtenv/x86 -embedded x86 -nomake docs -nomake demo -nomake examples -qvfb
$ sudo
make
$ sudo make install

sudo 获得root权限,否则可能出错。

此过程花费过多时间,大概几个小时左右,视电脑配置而定。

此过程出现错误较多,都可以解决,要有耐性。。。

此编译工程中,编译arm版本的工具是arm-linux-g++、编译x86版本的工具是g++;编译的时候注意查看是否正确!我就犯过这样的错误,把上面的编译指令输错!导致后面更多的莫名其妙的错误!不得不重新来过!

技巧:

1)configure之后想清除重新来过,使用make confclean,再重新configure即可

2)make之后想清除重新来过,使用make clean,再make 

5.最后是环境变量的设置

这个也是非常重要的一步,前面说的目录管理,在这一步显的非常重要了

我的处理方法是:在各文件夹下新建shell脚本文件。

1)QT-X11:

$ cd qtenv/qtsdk

$ sudo gedit setenv.sh

添加如下内容:

PATH=/home/fengchao/qtenv/qtsdk/qt/bin:$PATH

LD_LIBRARY_PATH=/home/fengchao/qtenv/qtsdk/lib:$LD_LIBRARY_PATH

 

export PATH

export LD_LIBRARY_PATH

保存退出,文件放在qtenv/qtsdk下!

2)x86:

$ cd qtenv/x86

$ sudo gedit setenv.sh

添加如下内容:

QTEDIR=/home/fengchao/qtenv/qtsdk/x86

PATH=/home/fengchao/qtenv/qtsdk/x86/bin:$PATH

LD_LIBRARY_PATH=/home/fengchao/qtenv/qtsdk/x86/lib:$LD_LIBRARY_PATH

export QTEDIR

export PATH

export LD_LIBRARY_PATH

保存退出文件放在qtenv/x86下!

3)arm:

$ cd qtenv/arm

$ sudo gedit setenv.sh

添加如下内容:

QTEDIR=/home/fengchao/qtenv/qtsdk/arm

PATH=/home/fengchao/qtenv/qtsdk/arm/bin:$PATH

LD_LIBRARY_PATH=/home/fengchao/qtenv/qtsdk/arm/lib:$LD_LIBRARY_PATH

export QTEDIR

export PATH

export LD_LIBRARY_PATH

保存退出文件放在qtenv/arm下!

在运行的时候分别运行对应的脚本即可,比如我们要用QT-X11:

cd /qtenv/qtsdk

source setenv.sh

然后就可以用qmake designer等工具了.

注意:通过运行这几个shell脚本来改变环境变量。整个环境变量的改变只有在当前的终端下才有效。当打开其他终端后,必须重新执行对应的shell脚本。

对应所在的路径,在大家的机器上可能不尽相同,领会意思就行。

6.下面如何编译QVFB?

请参考我的下一篇文章

相关内容