Qt环境的搭建X11与Embedded


Qt 版本:qt4.8.5

qt是一个开源的、跨平台的图形库(当然qt的功能不只是图形库啦),一般在linux平台中应用比较广泛。开发者要是使用qt库进行应用程序的开发,需要对安装qt的开发环境,说简单点就是安装好qt的库、头文件及内部工具。我们一般采用源码包安装。

准备:

下载源码包qt-everywhere-opensource-src-4.8.5.tar.gz

像所有的源码包安装一样,qt的安装也是configure、make、make install这经典的安装三部曲;而对于大多数人来说难点在于configure这个步骤上,因为选项真的是很多。我一般把这这些选项写到一个脚本中。

一、X11版本(Ubuntu12.04)

1.configuer

---------------------------这是脚本------------------------

#!/bin/bash
./configure -prefix /opt/qt-4.8.5-x11 \    #安装位置,缺省/usr/local/Trolltech/Qt-4.8.5
            -opensource \  #开源版本
            -gtkstyle \      #内嵌gtk主题;没有此项编译出来的qt应用程序可选择的主题少
            -fontconfig \    #支持系统字体库配置;没有此项qt应用程序可选择字体很少,特别不美观
            -make tools    #编译一些qt自带的实用工具,如makeqpf  qtconfig 等等

---------------------------这是脚本------------------------

NOTE:

以上这些选项如果你都不配置也是可以通过的。如果不显示的给出这些选项一般是按缺省值或者config.test来进行系统环境的测试来决定是否开启哪些选项。以上的这些选项是比较实用的,建议显示启用。

特别是fontconfig选项没启用,那么你在用qtconfig为应用程序配置字体是会发现只有几种字体选择。

启用以上选项后,可能出现一些错误信息,主要是一些库缺失引起的。

freetype错误:

apt-get install libfreetype6-dev

ln -s /usr/include/freetype2/freetype /usr/include/freetype

fontconfig错误:

apt-get install libfontfig1-dev

2.make

3.make install

经过以上步骤,你的qt会安装在你指定的安装目录中,其中bin文件中有一些qt内部工具如:qmake  qtconfig  makeqpf;如果你是用qtcreator来开发那么就不需要在系统中配置环境变量了,如果你就要命令行来工作那就配置PATH 和QT_DIR(其实这个不配置也可以)这两个环境变量就行了。

二、Embedded版本

1.configuer

---------------------------这是脚本------------------------

#!/bin/bash

./configure -prefix /opt/qt-4.8.5-arm \
            -opensource \                         
            -embedded arm \        #arm平台
            -xplatform qws/linux-arm-g++ \    #编译工具,对应arm-linxu-g++
            -no-webkit \          #不支持webkit功能
            -qt-libtiff \            #支持tiff字体
            -qt-libmng \            #支持mng
            -qt-mouse-pc \       
            -qt-mouse-tslib \   
            -qt-mouse-linuxtp \   
            -no-neon \     
            -qt-gfx-qvfb \     
            -qt-gfx-transformed \      #旋转屏支持
            -qt-kbd-qvfb \
            -qt-mouse-qvfb \
            -make tools

---------------------------这是脚本------------------------

NOTE:

我是在FriendlyARM Tiny210v2 开发板提供的交叉工具链来编译的,其他的没测试。有问题,安装好库就OK了。

2.make

3.make install

经过以上步骤,你的qt会安装在你指定的安装目录中,其中bin文件中有一些qt内部工具如:qmake  qtconfig  makeqpf;如果你是用qtcreator来开发那么就不需要在系统中配置环境变量了,如果你就要命令行来工作那就配置PATH 和QT_DIR(其实这个不配置也可以)这两个环境变量就行了。
4.目标板环境搭建

将qt安装目录中的lib imports plugins mkspecs 拷贝到开发目标版中指定目录

(一定要跟你编译时的目录对应,如我的:opt/qt-4.8.5-arm)

配置一些环境变量(如何配置开后面),配置好了写个测试程序。记得运行时一定要加-qws

如 : ./test  -qws

环境变量设置,我就不想多说了,我喜欢写成到脚步中,我也不解释了,一看就明白

---------------------------这是脚本------------------------

#!/bin/sh

if [ -e /dev/touchscreen-1wire ] ; then
        TSLIB_TSDEVICE=/dev/touchscreen-1wire
else
        TSLIB_TSDEVICE=/dev/touchscreen
fi

if grep -Ei "\<ctp=(1|2|3)\>" /proc/cmdline >/dev/null; then
    TSLIB_CONFFILE=/etc/ts-mt.conf
else
    TSLIB_CONFFILE=/etc/ts.conf
fi

export TSLIB_TSDEVICE
export TSLIB_CONFFILE
export TSLIB_PLUGINDIR=/usr/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal

export QTDIR=/opt/qt-4.8.5-arm
export QPEDIR=/opt/qt-4.8.5-arm
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH

if [ -c ${TSLIB_TSDEVICE} ]; then
        export QWS_MOUSE_PROTO="Tslib:${TSLIB_TSDEVICE}"
        if [ -e /etc/pointercal -a ! -s /etc/pointercal ] ; then
                rm /etc/pointercal
        fi
else
        export QWS_MOUSE_PROTO="USB:/dev/input/mice"
        >/etc/pointercal
fi

export QWS_KEYBOARD="TTY:/dev/tty1"
#export QWS_DISPLAY="Transformed:mmWidth66:mmHeight114:Rot90:0"

FB_SIZE=$(cat /sys/class/graphics/fb0/virtual_size)

case "$FB_SIZE" in
800,480)
export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1"
;;
480,272)
export QWS_DISPLAY="LinuxFb:mmWidth76:mmHeight44:1"
;;
*)
#export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1"
#7.0
#export QWS_DISPLAY="Transformed:Rot270:LinuxFb:mmWidth154:mmHeight86:1"
#3.5
export QWS_DISPLAY="Transformed:Rot270:LinuxFb:mmWidth70:mmHeight53:1"
;;
esac

file_path=`dirname $1`
file_name=`basename $1`
options=${@#$1}
cd $file_path
CMDPATH=`pwd`/
${CMDPATH}$file_name $options


---------------------------这是脚本------------------------


里面有些是外设的设置如:触摸屏,显示屏等,改成你板子相关的就行了,不配置也可以呀,不要这些功能呗。

把脚本拷到bin下去


那你就可以这样运行你的qt程序了(假设脚本名qt4.8.5 程序名 test)

qt4.8.5  test -qws

Qt 的详细介绍:请点这里
Qt 的下载地址:请点这里

推荐阅读:

Ubuntu 环境下Gtk与QT编译环境安装与配置

Linux系统下QT环境搭建

Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法

Ubuntu 10.04下QT4.7.4移植详解

Linux下为刚安装好的Qt Creator 创建桌面启动图标

Ubuntu 11.04安装QT Creator 2.5.0

Qt creator for PlayBook安装过程

相关内容