Qt/Embedded编译与安装

本文详细介绍了在Ubuntu虚拟机环境下,如何进行Qt/Embedded的交叉编译安装,包括安装交叉编译链、下载编译tslib、获取Qt/Embedded源码并编译,最后讲解了如何配置环境变量确保正确使用qmake。
摘要由CSDN通过智能技术生成

1. 前言

本文介绍了Qt/Embedded的编译与安装的详细详细过程,包括简要介绍了Qt/Embedded的安装的前期准备——交叉编译链的安装。对Qt/Embedded的./configure 配置的常用参数进行了说明。

2. 安装环境说明与需要的软件资源

2.1 安装环境
  • PC环境:VMware中Ubuntu
    Linux version 2.6.32-33-generic (buildd@rothera) (gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) ) #70-Ubuntu SMP Thu Jul 7 21:09:46 UTC 2011

  • arm开发板
    三星公司的:s3c2410 芯片

2.2 软件资源
  • arm-linux-gcc-4.4.3.tar.gz (若是直接通过apt-get获得则不需要)
  • qt-embedded-linux-opensource-src-4.4.0.tar.gz
  • tslib-1.4.tar.bz2
    【Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提 供诸如滤波、去抖、校准等功能】

3. 步骤

3.1 步骤简介
  1. 安装交叉编译链
  2. 下载Qt/Embedded
  3. 解压,配置,编译,安装
3.2 具体步骤
3.2.1. 安装交叉编译链
  直接联网通过apt-get安装
sudo apt-get install gcc-arm-linux-gnueabi
  通过下载源码包安装:
  • 下载arm-linux-gcc-4.4.3.tar.gz
  • tar zxvf arm-linux-gcc-4.4.3.tar.gz解压
  • cd 进入解压之后的目录
  • find . -name ‘arm-linux-*’ 得到arm-linux-gcc 所在目录,例如: /usr/local/arm/4.4.3/bin
  • 添加环境变量:
    sudo gedit /etc/profile
    将 export PATH=/usr/local/arm/4.4.3/bin:$PATH 加在profile文件末尾,保存,退出
  • 输入 source /etc/profile 更新环境变量
  • 输入arm-linux-gcc -v 检验是否成功安装

3.2.2 下载、编译安装tslib-1.4.tar.bz2
首先对tslib作简单介绍:Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。因为我自己开发的需要,需要为Qt/e 添加对触摸屏的支持,所以需要在编译qt的时候把tslib编译进去,假如你的开发不需要用到tslib,这一步可以忽略。
下载地址:
[tslib-1.4.0.tar.bz2](http://download.csdn.net/detail/kwansampson/9282473)

我把tslib-1.4.0.tar.bz2下载到/home/sprife/qt4/for_arm 目录下:

cd /home/sprife/qt4/for_arm
tar -jxvf tslib-1.4.0.tar.bz2
#cd tslib-1.4
#vi build.sh

修改该脚本文件为如下:
#/*******************脚本内容****************************/
#/bin/sh
export CC=arm-linux-gcc
./autogen.sh
echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
./configure --host=arm-linux --cache-file=arm-linux.cache
-prefix=$PWD/../tslib1.4-install
make
make install
#/*****************************************************/

退出保存后编译:
#./build.sh

这样tslib就被安装在了/home/sprife/qt4/for_arm/tslib1.4-install 目录下边。


3.2.3. 下载Qt/Embedded

在把交叉编译链安装好之后,终于可以进入正题了:安装Qt/Embedded,首先我们要上QT官网下载Qt/Embedded的源码,链接如下:
点击下载QT,QT/Embedded源码
这里写图片描述

点击选择不同的版本,然后可以看到不同平台不同版本的Qt源码:

这里写图片描述

上边是X11平台的Qt源码,今天只讲Qt/E的安装,所以往下找到Qt/E的源码:

这里写图片描述

可以看到这个网站上包括可Qt,Qt/E…多的平台多个版本的源码,本文只介绍Qt/E的安装。大家可以选择自己需要的版本,我安装的是 qt-embedded-linux-opensource-src-4.4.0.tar.gz
下载完后,cp到一个常用目录,我的是:/opt


3.2.4. 编译安装Qt/Embedded

需要把步骤3中安装的tslib的库文件复制到Qt/e的库文件中(下边命令的第4,5行):

  cd /opt
  tar -zxvf qt-embedded-linux-opensource-src-4.4.0.tar.gz 
  cd qt-embedded-linux-opensource-src-4.4.0
  cp -a /home/sprife/qt4/for_arm/tslib1.4-install/lib/*  /lib/ 
  cp -a /home/sprife/qt4/for_arm/tslib1.4-install/include/ts*  /include/
  ./configure -embedded arm -xplatform qws/linux-arm-g++ -depths 16 -little-endian -qt-mouse-linuxtp -qt-mouse-tslib -I/home/sprife/qt4/for_arm/tslib1.4-install/include -L/home/sprife/qt4/for_arm/tslib1.4-install/lib -debug-and-release -qt3support -qt-zlib -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -make libs -nomake examples -nomake demos -nomake docs -no-cups -iconv -qt-gfx-qvfb -prefix /usr/local/qte-arm

注:最后一步的.configure 这一步非常重要,每个参数都要根据自己的实际情况去配置,要了解有什么参数,可以输入 ./configure -help 查看,我在文章最后对一些常用的参数的意思做了解释,希望能对大家有帮助。

假如配置没问题的话,接下来

make
make install

make 编译的过程需要很长时间,我的用了3个多小时,大家尽可以一遍让它编译一遍做点其他的事情,譬如说像我这样,写这篇博客,(^_^)

make 过程中可能会出现一些错误,见我的【 Error:记住曾犯下的错误】栏目中的相关文章
假如没问题的话,make install完之后就安装完了,我的安装在 /usr/local/qte-arm目录下(安装的目录 在./configure 是在-prefix 参数中设置)

安装完之后,切换到安装目录:

 cd /usr/local/qte-arm
 cd bin

这里写图片描述

接下来就是将qmake的路径添加到path,一般而言是修改/etc/profile或者~/.bashrc 文件来添加环境变量,但是因为我安装了 qt-x11, qt-embedded, qt-x86 等不同平台和版本的qt(一般至少都需要qt-x11, qt-embedded),每个版本都有qmake,直接添加环境变量会是的到时调用时很混乱,都不知道自己用的是那个qmake,所以我用了另外一个方法,通过添加指向不同版本的qmake的软链接的方式,来更方便地调用qmake:

  cd /usr/bin
  ls -l qmake*

这样是为了查看原来已经有了的qmake(假设已经有了一个之前的qmake),然后:

mv qmake qmake.bak
ln -s /usr/local/qte-arm/bin/qmake  qmake

这样以后调用qmake的时候就是调用自己上边编译出来的qt/e 版的qmake,当然一般情况之前安装的qmake或许也会用到,这样怎么办呢?我的做法是干脆直接用不同的qmake命名不同版本的qmake,到时自己调用的时候根据自己的需要调用,我的设置如下图:

这里写图片描述

图中的不同的qmake指向不同平台的Qt的qmake,譬如说我的qmake-x就是指向x11平台的qmake,qmake-ee就是上边指向上边安装的embedded版的Qt,以后要make X11平台下的程序时,就调用qmake-x11就可以了。

最后,只需要qmake -v (我的:qmake-ee -v)确认安装成功就大功告成了!!

这里写图片描述

Enjoy



附录:./configure 参数解释

常用参数:

 ./configure -embedded arm -xplatform qws/linux-arm-g
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值