本文主要的操作步骤是翻译《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目录,用于存放编译源文件。
在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文件,加入上述命令行,保存重启命令终端即可。