Ubuntu下Qt Embedded 安装与配置

时光怂恿深爱的人放手 提交于 2020-02-16 11:38:32

本文主要的操作步骤是翻译《Installing Qt on Embedded Linux》的文档。现在Qt Embedded for Linux的版本是4.6.3,可以从Trolltech网站上下载(PS:Trolltech被Nokia收购了,网址也该成http://qt.nokia.com/)。LPGL协议下的源程序包下载地址如下:Qt libraries 4.6.3 for embedded Linux (161 MB) 。接下来就配置、编译和安装QTE。

1、下载所需的源代码包和SDK包,并建立Qt for X11环境

Qt Embedded for Linux是源代码包。但为了节省建立QT开发环境的时间,Qt for X11我是直接下载的SDK包含,这样节省了很多编译时间,而且sdk包中还包括了qt creator等工具。SDK可以从官方网载下载“qt-sdk-linux-x86-opensource-2010.04.bin“

1 cd ~/Qtenv
2 
3 chmod u+x qt-sdk-linux-x86-opensource-2010.04.bin
4 
5 ./qt-sdk-linux-x86-opensource-2010.04.bin

为了文件管理方便,将sdk也安装在Qtenv文件夹中。

2、解压源代码包

在用户目录下建立一个Qtenv目录,用于存放编译源文件。

mkdir $HOME/Qtenv

在qtembedded目录下创建arm和x86目录。创建这两个目录主要是为了编译一个用户arm开发版的QTE,另一个目录用于存放用于qvfb的x86下QTE,这样演示和开发都很方便。

1 cd ~/Qtenv
2 mkdir arm x86

接下来将源代码包分别复制到arm和x86下并解压缩。这样做虽然浪费了一些硬盘空间(ps:在宿主机上的硬盘太不值钱了),但能为将来再配置和编译节省很多时间。

1 cd ~/Qtenv
2 mv qt-everywhere-opensource-src-4.6.3.tar.bz2 ./arm
3 cd ~/Qtenv/arm
4 tar xjvf qt-everywhere-opensource-src-4.6.3.tar.bz2
5 
6 cd ~/Qtenv/x86
7 mv qt-everywhere-opensource-src-4.6.3.tar.bz2 ./x86
8 tar xjvf ./x86/qt-everywhere-opensource-src-4.6.3.tar.bz2

解压缩后分别针对arm平台和x86平台进行配置,配置前可输入

./configure -embedded -help

进行配置帮助查询,根据平台配置,并编译和安装文件。其命令代码如下:

1 cd ~/Qtenv/arm
2 ./configure -prefix $HOME/Qtenv/arm -embedded arm -nomake docs -nomake demo -nomake examples
3 make
4 make install
5 
6 cd ~/Qtenv/x86
7 ./configure -prefix $HOME/Qtenv/arm -embedded x86 -nomake docs -nomake demo -nomake examples
8 make
9 make install

在经过漫长的配置、编译后就完成了QTE的安装。本人在arm版的编译过程中出现过两个错误,在参考《在arm-linux-gcc 3.4.1下编译 qt-embedded-4.6.2》完成编译。

完成编译和安装后需要对系统的环境变量进行设置,设置可以是临时性设置和永久性设置。临时行设置是直接在命令窗口输入

1 export QTENV=$HOME/Qtenv
2 export QTXDIR=$QTENV/qtsdk
3 export QTEDIR=$QTENV/x86
4 export PATH=$QTXDIR/qt/bin:$PATH
5 export LD_LIBRARY_PATH=$QTXDIR/lib:$LD_LIBRARY_PATH
6 export QVFBDIR=$QTXDIR/qt/bin
7 export QTEMAKEDIR=$QTEDIR/bin

以上这些变量可以根据自己的喜好进行增删。这种设置方法在关闭当前命令终端后失效。

第二种方式是在当前用户的主目录下,编辑.bash_profile文件,加入上述命令行,保存重启命令终端即可。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!