我下载了 从 ftp://ftp.trolltech.com/qt/source qt-embedded-2.3.7.tar.gz 放到了我的qte工作目录下 ~/doc/tools/qte/
解压:
tar xvfz qt
-
embedded
-
2.3
.
7
.
tar
.
gz
进入刚才刚解压的文件夹
cd qt
-
2.3
.
7
1:qt/embedded 环境设置(host 宿主机)
首先要在宿主机上进行环境变量的设置。其中QTDIR是安装Qt的目录,LD_LIBRARY_PATH是Qt中使用的共享库存放的目录。
声明环境变量
export QTDIR
=~/
doc
/
tools
/
qte
/
qt
-
2.3
.
7
export LD_LIBRARY_PATH
=~/
doc
/
tools
/
qte
/
qt
-
2.3
.
7
/
lib export PATH
=
$PATH
:
$HOME
/
bin
2:Qt/Embedded配置
使用configure 命令生成Makefile,详细信息可以参考PLATFORM文件,里面说明了支持的平台和使用的编译器
./configure -xplatform linux-x86-g++ -share
参数中,-shared表示生成并使用共享库;执行之后会被问道几个问题
第一个是是否同意协议条款,当然要输入 yes 了
第二个是选择安装模式,我选择了5 Everyonething(5mb)
第三个是选择色彩深度,这个跟你的显示器有关,如果是ARM的液晶屏就要看看具体参数了。我要做的是
电视机的机顶盒,用的是电视机做显示器,所以选择了16
第四个是 是否支持Framebuffer 就是帧缓冲 ?在ARM上用,选择no;qvfb程序在X windows上实现 Framebuffer。
所以设置完成后会提示 Build Type 什么的 就是刚才选择配置的参数 -xplatform linux-x86-g++
3:编译
make
这一步很简单,但很容易提示错误。
我的机子的提示是:
qt
-
2.3
.
7
/
include
/
qwindowsystem_qws
.
h
:
229
:
错误:‘QWSInputMethod’ 未声明
在网上查了半天,发现是我gcc 和 g++版本太高了,应该换一个低版本的,我晕!难道这倒霉的gcc不能向下兼容吗?没办法试试吧
于是 查看俺的gcc版本
gcc -v
最下面一行 上面写着啥“4.1” 那就是“4.1”的版本了,好,现在去换个低的,我用新立得搜索 gcc 找到了一个3.3 版本的 ,就装它了。装好了之后,就要用3.3的gcc编译刚才的qte了,那怎么指定用3.3的 而不用4.1的呢
gcc3.3安装到了/usr/'bin 下面
ls -l gcc*
lrwxrwxrwx
1
root root
7
2007
-
10
-
29
16
:
35
gcc
->
gcc
-4.1
-
rwxr
-
xr
-x
1
root root
80916
2007
-
07
-
30
04
:
42
gcc
-
3.3
-
rwxr
-
xr
-x
1
root root
206244
2007
-
09
-
29
23
:
46
gcc
-
4.1
-
rwxr
-
xr
-x
1
root root
15970
2007
-
07
-
30
04
:
38
gccbug
-
3.3
-
rwxr
-
xr
-x
1
root root
16312
2007
-
09
-
29
23
:
41
gccbug
-
4.1
-
rwxr
-
xr
-x
1
root root
2018
2007
-
06
-
05
08
:
59
gccmakedep
其中 gcc是个链接 指向了 gcc-4.1 也就是说 我们使用的gcc命令 其实是 gcc-4.1。
我查看了它生成的Makefile文件 里面如果有 CC=gcc 就简单了,改成CC=gcc-3.3 就可以了,可惜没有这一条,没办法 只能该系统默认的gcc了
sudo mv gcc gcc_4
.
1_bak sudo ln
-
sf gcc
-
3.3
gcc
意思是把先前的gcc链接 备份成 gcc_4.1_bak 再新建一个gcc链接,现在再看一下
ls -l gcc*
lrwxrwxrwx
1
root root
7
2007
-
10
-
29
16
:
35
gcc
->
gcc
-
3.3
-
rwxr
-
xr
-x
1
root root
80916
2007
-
07
-
30
04
:
42
gcc
-
3.3
-
rwxr
-
xr
-x
1
root root
206244
2007
-
09
-
29
23
:
46
gcc
-
4.1
lrwxrwxrwx
1
root root
7
2007
-
10
-
28
19
:
48
gcc_4
.
1_bak
->
gcc
-
4.1
-
rwxr
-
xr
-x
1
root root
15970
2007
-
07
-
30
04
:
38
gccbug
-
3.3
-
rwxr
-
xr
-x
1
root root
16312
2007
-
09
-
29
23
:
41
gccbug
-
4.1
-
rwxr
-
xr
-x
1
root root
2018
2007
-
06
-
05
08
:
59
gccmakedep
gcc -v
最下面一行显示 什么“3.3” 表示 已经该好了,现在就可以再 “make”一下拉。经过漫长的等待,最后提示
The Qt library is now built in
./
lib The Qt examples are built in the directories in
./
examples The Qt tutorials are built in the directories in
./
tutorial Note
:
be sure to set
$QTDIR
to point to here or to wherever you move these directories
.
Enjoy
!
-
the Trolltech team make[
1
]
:
Leaving directory `
/
home
/
zt
/
doc
/
tools
/
qte
/
qt
-
2.3
.
7
'
表示 qte已经装好了。