Qt/Embedded编译与安装

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
  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在嵌入式系统中,要编译安装Qt虚拟键盘需要以下步骤: 1. 首先,确保已经安装Qt开发环境和所需的编译工具链,包括交叉编译工具和相关依赖项。 2. 下载Qt虚拟键盘的源代码,并将其解压到本地目录。 3. 进入解压后的源代码目录,并使用命令行切换到交叉编译环境。 4. 在交叉编译环境中,执行以下命令,配置Qt虚拟键盘的构建选项: ``` qmake PREFIX=/path/to/installation TARGET=qvk ``` 这将设置Qt虚拟键盘的安装路径和目标平台。 5. 执行以下命令,开始编译Qt虚拟键盘: ``` make ``` 这将根据所设置的构建选项,编译生成Qt虚拟键盘的可执行文件。 6. 编译完成后,执行以下命令,将Qt虚拟键盘安装到指定路径: ``` make install ``` 这将安装Qt虚拟键盘到指定的安装路径。 7. 安装完成后,即可在嵌入式系统中使用Qt虚拟键盘。可以通过启动虚拟键盘的可执行文件或通过Qt应用程序中集成虚拟键盘的功能来使用它。 需要注意的是,在编译安装过程中,可能会遇到一些依赖项或路径配置的问题。这会根据具体的嵌入式系统和Qt版本而有所不同。因此,建议在进行编译安装之前,先查阅相关的文档和资源,以确保正确配置和解决问题。 ### 回答2: Qt虚拟键盘是一个可以在嵌入式设备上使用的软件工具,用于在没有物理键盘的情况下输入文本。要在嵌入式设备上编译安装Qt虚拟键盘,可以按照以下步骤进行: 首先,确保你已经安装Qt开发框架的嵌入式版本。这个版本包含了适用于嵌入式设备的库文件和工具。 然后,从Qt官方网站上下载Qt虚拟键盘的源代码。你可以选择下载最新的稳定版本或者开发版本,具体可以根据你的需求来决定。 解压下载的源代码包,然后打开终端或命令提示符窗口,进入解压后的文件夹目录。 接下来,执行以下命令来配置Qt虚拟键盘的编译选项: ./configure -embedded arm -xplatform qws/linux-arm-gnueabi-g++ 这里假设你的嵌入式设备使用的是ARM架构,并且使用的是Linux操作系统。如果你的设备和操作系统有所不同,需要相应地修改该命令。 配置完成后,执行make命令来编译Qt虚拟键盘的源代码: make 这个过程可能需要一段时间,取决于你的嵌入式设备的性能。 当编译完成时,执行以下命令来安装Qt虚拟键盘: make install 安装完成后,你可以在Qt安装目录中找到Qt虚拟键盘的可执行文件。将该文件拷贝到你的嵌入式设备上,并根据需要进行配置。 现在,你已经成功地将Qt虚拟键盘编译安装到了嵌入式设备上。你可以使用该虚拟键盘在没有物理键盘的情况下输入文本。 需要注意的是,以上步骤仅适用于基于ARM架构的嵌入式设备,并且假设你已经安装了适用于嵌入式设备的Qt开发环境。如果你的设备和环境有所不同,需要根据实际情况进行调整。 ### 回答3: 在嵌入式系统中,编译安装QT虚拟键盘需要以下步骤: 1. 下载QT源代码:首先,需要从QT官方网站下载QT的源代码,并将其解压到你的嵌入式系统上。 2. 配置编译器:在编译之前,需要根据你的嵌入式系统的架构和特性进行配置。这可以通过运行configure脚本来完成。在配置过程中,你可以选择需要的模块和功能,以及设置编译器选项。 3. 编译源代码:完成配置后,使用make命令开始编译源代码。这将需要一些时间,具体时间取决于你的系统性能和源代码的规模。 4. 安装库文件:编译完成后,可以使用make install命令将生成的库文件安装到系统中。 5. 配置环境变量:在安装完成后,需要将QT安装路径添加到系统的环境变量中。这样,你就可以在任何地方使用QT开发和运行程序。 6. 构建应用程序:最后,你可以使用QT开发工具根据你的需求构建应用程序,包括虚拟键盘。在构建过程中,你需要包含相应的头文件和库文件,并通过调用相应的API来实现虚拟键盘的功能。 需要注意的是,QT虚拟键盘的功能和界面可以根据需求进行自定义和修改,比如可以设置键盘布局、按键样式和交互逻辑等。此外,还需要考虑嵌入式系统的硬件限制和性能要求,以确保虚拟键盘的使用体验和性能满足用户的期望。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值