qt/embedded 安装笔记 关于 gcc g++ 的版本问题

 

我下载了 从 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已经装好了。

 

你可能感兴趣的:(嵌入式学习)