Ubuntu9.10平台下对Qt4.50嵌入式开发环境的安装

来源:互联网 发布:北电网络 收购 编辑:程序博客网 时间:2024/05/16 11:01

近期计划学习嵌入式编程,所以开始学习Qt,原来知道嵌入式门槛高,经过这两天的测试得出结论:的确不低。


      满打满算安装Qt已经花了我一周的时间(还有很多朋友和我一起搞的),接下来会在花一周的时间把这些经验和资料整理出来,一是防止自己忘记,二十给大家有个借鉴,三是如果有更方便更简洁的方法请网友一定告诉我,因为这个安装过程是很痛苦的。


        首先把安装需要的文件全部列举出来:

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

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

                      ( 下载地址:ftp://ftp.qtsoftware.com/qt/source/ )

arm-linux-gcc-4.3.2.tgz
(我是在友善的micro2440资料光盘里得到的)

zlib-1.2.3.tar.gz
                            (zlib软件包所包含的库经常被一些软件的压缩或解压缩函数用到,所以安装文件的时候经常会用到,可以参考这篇文章:http://hi.baidu.com/%CB%E6%B7%E7%B0%BF%CF%E8/blog/item/15ff00a4176c73ff9152ee69.html)


我的虚拟机平台是Vmware 7 ,Linux版本是Ubuntu 9.10 , Qt安装的版本是4.50。
好的,下面我就开始安装Qt嵌入式开发环境:


第一步:为了获得比较快的更新速度,我们可以增加一些台湾的源,同时更新一下g++编译器和x11库(所谓x11就是指 x window),(参考文章:http://hi.baidu.com/lastnightcode/blog/item/4dd8ab60f12c78d7e7113a24.html)

方法:

1.     sudo gedit /etc/apt/sources.list
编辑你的源列表,在最后添加下面列表中的源(注意不要全部添加),复制到你的列表中,然后保存列表。

deb http://tw.archive.ubuntu.com/ubuntu/ karmic main universe restricted multiverse
deb http://tw.archive.ubuntu.com/ubuntu/ karmic-updates universe main multiverse restricted
deb http://tw.archive.ubuntu.com/ubuntu/ karmic-proposed universe main multiverse restricted
deb http://tw.archive.ubuntu.com/ubuntu/ karmic-security universe main multiverse restricted
deb http://tw.archive.ubuntu.com/ubuntu/ karmic-backports main multiverse restricted universe
deb-src http://tw.archive.ubuntu.com/ubuntu/ karmic main universe restricted multiverse
deb-src http://tw.archive.ubuntu.com/ubuntu/ karmic-security universe main multiverse restricted
deb-src http://tw.archive.ubuntu.com/ubuntu/ karmic-updates universe main multiverse restricted
deb-src http://tw.archive.ubuntu.com/ubuntu/ karmic-proposed universe main multiverse restricted
deb-src http://tw.archive.ubuntu.com/ubuntu/ karmic-backports universe main multiverse restricted

2.   sudo aptitude update    更新源列表信息

3. 更新g++和libx11

sudo apt-get install libc6-dev g++ gcc

sudo apt-get install libx11-dev

 

第二步:更新你的系统的更新管理器

方法:系统 --   系统管理 --   跟新管理器

 

 

第三步:安装arm-linux-gcc-4.3.2.tgz

1,我们把arm-linux-gcc-4.3.2.tgz文件放到了home目录下,然后切换到相应目录

2, # sudo tar xvzf arm-linux-gcc-4.3.2.tgz -C /
注意:C 后面有个空格,并且 C 是大写的,它是英文单词“Change”的第一个字母,
在此是改变目录的意思。

执行该命令,将把 arm-linux-gcc 安装到/usr/local/arm/4.3.2 目录




3,    把编译器路径加入系统环境变量,运行命令
# sudo gedit /root/.bashrc
编辑/root/.bashrc 文件,在最后一行加上 export PATH=$PATH:/usr/local/arm/4.3.2/bin
保存退出。如图:



4, 重新登录系统,使以上设置生效,在命令行输入 arm-linux-gcc –v,会出现如下信息,
这说明交叉编译环境已经成功安装。

如果在这里出现问题,请参看 “ 交叉编译环境的建立” 一文。


第四步:安装zlib-1.2.3.tar.gz

可以到zlib官方网站:http://www.zlib.net下载 zlib-1.2.3.tar.gz ,也可以在ubuntu中

$wget http://www.zlib.net/zlib-1.2.3.tar.gz     用这种方式下载文件包

我们这里已经下载好了文件并把zlib-1.2.3.tar.gz 文件放到了home目录下,然后切换到相应目录   

$ tar -xvzf zlib-1.2.3.tar.gz
$ cd zlib-1.2.3.tar.gz
$ ./configure
$ make
$ sudo make install

第五步安装新立德的软件更新包

如果有的Ubuntu的版本事先安装好了,这一步就可以跳过,不过大家最好看下,否则会在安装qt-x11-opensource-src-4.5.0的时候出现   /usr/bin/ld:cannot find - lXext    错误。

大家可以在 系统 -- 系统管理 -- 新立德软件包管理 找到新立的软件包,然后搜索 libxext6libxext-dev 这个是两个主要的。顺便也可以把其他相关的包更新 如:libfreetype6-devlibavahi-gobject-dev libsm-devlibxrender-devlibfontconfig1-dev

第六步:编译及安装qt-x11-opensource-src-4.5.0

qt-x11版本可以产生Qt开发工具,如designer等等,最重要的是可以得到qvfb,嵌入式的开发有了qvfb,就可以不需要实际的开发板,也可以开发Qt应程序。qt-embedded版本就是专门用于嵌入式方面的版本。

方法:

         tar xjvf qt-x11-opensource-src-4.5.0.tar.bz2
        cd qt-x11-opensource-src-4.5.0
./configure
make
sudo make install

历经漫长的编译过程,我这里用了5个小时,默认安装在/usr/local/Trolltech/Qt-4.5.0下.这时候在/usr/local/Trolltech/Qt-4.5.0/bin这个目录下,应该可以找到qmake 这个文件。然后打开终端

$ cd /usr/local/Trolltech/Qt-4.5.0/bin
$ 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
..........

编译完成后源程序不要删除,还有 用。这里一定要注意,千万不要因为空间不够了而删掉编译好的源程序,因为我们下面还要编译qvfb,要用到这些编译好的源代码。
到此时 我们QT4.5已经安装好了。此时 诺基亚已经推出了QTCreator,这个装一些也是很不错的,在软件包管理器里面直接搜索然后标记安装就可以了,速度是很慢的,一定要形容的话龟速,所以大家一定要有耐心。如果你不想装QT Creator IDE的话,这一步可以略过。


第七步:编译及安装qt-embedded-linux-opensource-src-4.5.0.tar.bz2

方法:
1,在home目录下分别解压缩qt-embedded-linux-opensource-src-4.5.0.tar.bz2 为两个文件夹
分别为 qt-embedded-linux-opensource-src-4.5.0-x86
              qt-embedded-linux-opensource-src-4.5.0-arm

2,安装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
//执行configure文件
make                                         //编译
sudo make install                   //安装           

3,安装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           //安装   

这样就安装完毕了,此时我们可以看到在/usr/local/Trolltech/   目录下多出来两个文件夹分别是    QtEmbedded-4.5.0-arm    和    QtEmbedded-4.5.0-x86    在她们的bin目录下都可以找到qmake 这个文件。

第八步:重新编译qvfb

做到这一步还有qvfb没有编译,到qt-x11-opensource-src-4.5.0中重新编译qvfb即可

 

 

cd qt-x11-opensource-src-4.5.0

cd /tools/qvfb

make

 

 

会在qt-x11-opensource-src-4.5.0/bin下生成qvfb这个文件,

 

 

其实呢,这一步是经常有问题的,因为Ubuntu总会编译失败,报错。

错误1 cannot find -lXtst

在上面我们安装新立德的安装包的时候其实已经把这个问题解决了,如果大家出现这个错误请在检查是不是有忘记更新的包。

 

 

我们将它copy至/usr/local/Trolltech/QtEmbedded-4.5.0-x86/bin

 

 

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

第九步:测试

 

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

qvfb -width 640 -height 480 &

./books -qws

是提示找不到gvfb的

但是系统却给了提示,说可以用

sudo apt-get install qt3-dev-tools-embedded             修复,

 

然后上面的测试就通过了

如图

这个界面是在qvfb -width 640 -height 480 &后出现的,也就是我们的qvfb

然后在终端里输入

./books -qws

然后如图

 

 

 

 

 

 

后记:

      在使用的时候无论 qt-x11-opensource-src-4.5.0 还是 qt-embedded-linux-opensource-src-4.5.0-x86
qt-embedded-linux-opensource-src-4.5.0-arm    都要修改环境变量 ,所以建立一个脚本方便以后使用。

(1)qt-x11:      

建立一个文本,然后修改名字为setenv.sh,复制蓝色内容进去

添加如下内容:

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

保存退出.移到/usr/local/Trolltech/Qt-4.5.0中。

(2)qt-embedded-x86:

建立一个文本,然后修改名字为setenv.sh,复制蓝色内容进去

添加如下内容:

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

保存退出.移到/usr/local/Trolltech/QtEmbedded-4.5.0-x86中。

(3)qt-embedded-arm:

 

建立一个文本,然后修改名字为setenv.sh,复制蓝色内容进去

添加如下内容:

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

保存退出.移到/usr/local/Trolltech/QtEmbedded-4.5.0-arm中。

使用:

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

cd /usr/local/Trolltech/Qt-4.5.0

source setenv.sh

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

 

 

 

 

 

结束语:

     做到这一步相信大家都已经经历了一到两天甚至更多的时间,但是革命尚未成功同志仍需努力,大家接着打足精神继续开始干吧。

      同时感谢 昨夜代码 奋斗_在路上 的帮助。