2016-02-21 20:47:47
来 源
中存储网
Ubuntu
近期计划学习嵌入式编程,所以开始学习Qt,原来知道嵌入式门槛高,经过这两天的测试得出结论:的确不低。 满打满算安装Qt已经花了我一周的时间(还有很多朋友和我一起搞的),接下来会在花一周的时间把这些经验和资料整理出来,一是防止自己忘记,二十给大家

近期计划学习嵌入式编程,所以开始学习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软件包所包含的库经常被一些软件的压缩或解压缩函数用到,所以安装文件的时候经常会用到.

我的虚拟机平台是Vmware 7 ,Linux版本是Ubuntu 9.10 , Qt安装的版本是4.50。

好的,接下来我就开始安装Qt嵌入式开发环境:

第 一步:为了获得比较快的更新速度,大家可以增加一些台湾的源,同时更新一下g++编译器和x11库(所谓x11就是指 x window)

方法:

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

deb http://tw.archive.ubuntu.com/ubuntu/ karmic main universe restricted multiversedeb http://tw.archive.ubuntu.com/ubuntu/ karmic-updates universe main multiverse restricteddeb http://tw.archive.ubuntu.com/ubuntu/ karmic-proposed universe main multiverse restricteddeb http://tw.archive.ubuntu.com/ubuntu/ karmic-security universe main multiverse restricteddeb http://tw.archive.ubuntu.com/ubuntu/ karmic-backports main multiverse restricted universedeb-src http://tw.archive.ubuntu.com/ubuntu/ karmic main universe restricted multiversedeb-src http://tw.archive.ubuntu.com/ubuntu/ karmic-security universe main multiverse restricteddeb-src http://tw.archive.ubuntu.com/ubuntu/ karmic-updates universe main multiverse restricteddeb-src http://tw.archive.ubuntu.com/ubuntu/ karmic-proposed universe main multiverse restricteddeb-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    错误。

大家可以在 系统 -- 系统管理 -- 新立德软件包管理 找到新立的软件包,然后搜索 libxext6 , libxext-dev 这个是两个主要的。顺便也可以把其他相关的包更新 如:libfreetype6-dev , libavahi-gobject-dev , libsm-dev , libxrender-dev , libfontconfig1-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已经安装好了。此时 诺基亚已经推出了QT Creator,这个装一些也是很不错的,在软件包管理器里面直接搜索然后标记安装就可以了,速度是很慢的,一定要形容的话龟速,所以大家一定要有耐心。 一旦你不想装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

然后如图
Ubuntu 9.10平台下对Qt4.50嵌入式开发环境的安装

后记:

在使用的时候无论 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等工具了。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。