板上移植QT-3及环境搭建(带TSLIB触摸屏支持)

本文档详细介绍了在Loongson 1B开发板上移植QT-3及其环境搭建的过程,包括安装交叉编译工具链,交叉编译TSLIB和QT3,以及QT程序的移植与运行环境配置。在移植过程中,重点讨论了如何添加TSLIB触摸屏支持,并解决可能出现的编译问题。
摘要由CSDN通过智能技术生成

目录

一、文档简介: 4

二、移植过程 4

1.安装交叉编译工具链 4

2.交叉编译TSLIB工具 4

3.交叉编译QT3 5

4.QT程序移植及运行环境配置 21

一、文档简介:

本文档用于介绍Loongson 1B开发板上移植QT-3以及相关运行环境的搭建。

开发环境参数:

操作系统:Ubuntu 11.04

本机平台:X86

目标平台:Loongson 1B 开发板

交叉编译工具链:gcc-3.4.6-2f1B交叉编译工具链)

所需软件及工具包:

QT源码包:qt-embedded-free-3.3.7.tar.gz

TSLIB源码包:tslib-1.4.tar.gz

二、移植过程

1.安装交叉编译工具链

首先安装Loongson 1B开发板提供的交叉编译工具链:

解压gcc-3.4.6-2f.tar.gzPS.有些工具链对目录有一定的要求,请询问交叉编译工具链提供者,gcc-3.4.6-2f 需要放在/home/cpu/目录下面。

#tar zxvf gcc-3.4.6-2f.tar.gz

#mv gcc-3.4.6-2f /home/cpu/

将工具链加入到PATH环境变量中:

#export PATH=/home/cpu/gcc-3.4.6-2f/bin:$PATH

PS.每一次需要交叉编译均需要将交叉编译工具链加入到PATH变量,可通过修改/etc/profile文件来实现默认添加,即将上边最后一条语句加入到该文件中即可。

2.交叉编译TSLIB工具

解压tslib-1.4.tar.gz,进入文件夹交叉编译TSLIB工具,并指定工具安装目录为/TSLIB

# tar zxvf tslib-1.4.tar.gz

# cd tslib-1.4

# ./autogen.sh

#./configure --host=mipsel-linux ac_cv_func_malloc_0_nonnull=yes

--prefix=/TSLIB

# make

# make install

编译完成后,TSLIB目录需包含以下文件目录:

# ls /TSLIB

bin  etc  include  lib

各个目录分别为TSLIB的校准及测试程序、环境配置文件、头文件、动态库。

根据1B开发板触摸屏驱动类型,配置TSLIB,修改TSLIB的环境配置文件:修改/TSLIB/etc/ts.conf,将# module_raw input改成module_raw input,即去掉前面的注释符。PS.这里需要注意的是module_raw input前面不允许有空格。

3.交叉编译QT3

首先解压QT-3.3.7源码包并重命名后进入改目录以配置环境变量:

# tar  zxvf  qt-embedded-free-3.3.7.tar.gz 

# mv  qt-embedded-free-3.3.7/  qt-embedded-free-3.3.7-tslib-test

# cd  qt-embedded-free-3.3.7-tslib-test/

# export  QTDIR=$PWD

# export  QTEDIR=$PWD

# export  LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

# export  PATH=$QTDIR/bin:$PATH

执行以上步骤即可配置好QT的编译环境变量。

接下来需要修改相关的QT编译参数:

# vim mkspecs/qws/linux-mips-g++/qmake.conf

确保文件中指定的交叉编译参数为gcc-3.4.6-2f 交叉编译工具链中对应gcc名称。主要修改以下标记为yellow的参数:

Filemkspecs/qws/linux-mips-g++/qmake.conf

#

# $Id: qt/qmake.conf   3.3.7   edited May 27 2003 $

#

# qmake configuration for linux-g++ using the mipsel-linux-g++ crosscompiler

#

MAKEFILE_GENERATOR = UNIX

TEMPLATE = app

CONFIG += qt link_prl

QMAKE_CC = mipsel-linux-gcc

QMAKE_LEX = flex

QMAKE_LEXFLAGS =

QMAKE_YACC = yacc

QMAKE_YACCFLAGS = -d

QMAKE_CFLAGS = -pipe

QMAKE_CFLAGS_WARN_ON = -Wall -W

QMAKE_CFLAGS_WARN_OFF =

QMAKE_CFLAGS_RELEASE = -O2

QMAKE_CFLAGS_DEBUG = -g

QMAKE_CFLAGS_SHLIB = -fPIC

QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses

QMAKE_CFLAGS_THREAD = -D_REENTRANT

QMAKE_CXX = mipsel-linux-g++

QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -DQWS -fno-exceptions -fno-rtti

QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON

QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF

QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE

QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG

QMAKE_CXXFLAGS_SHLIB = $$QMAKE_CFLAGS_SHLIB

QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC

QMAKE_CXXFLAGS_THREAD = $$QMAKE_CFLAGS_THREAD

QMAKE_INCDIR =

QMAKE_LIBDIR =

QMAKE_INCDIR_X11 = 

QMAKE_LIBDIR_X11 = 

QMAKE_INCDIR_QT = $(QTDIR)/include

QMAKE_LIBDIR_QT = $(QTDIR)/lib

QMAKE_INCDIR_OPENGL = /usr/X11R6/include

QMAKE_LIBDIR_OPENGL = /usr/X11R6/lib

QMAKE_INCDIR_QTOPIA = $(QPEDIR)/include

QMAKE_LIBDIR_QTOPIA = $(QPEDIR)/lib

QMAKE_LINK = mipsel-linux-g++

QMAKE_LINK_SHLIB = mipsel-linux-g++

QMAKE_LFLAGS =

QMAKE_LFLAGS_RELEASE =

QMAKE_LFLAGS_DEBUG =

QMAKE_LFLAGS_SHLIB      = -shared

QMAKE_LFLAGS_PLUGIN     = $$QMAKE_LFLAGS_SHLIB

QMAKE_LFLAGS_SONAME     = -Wl,-soname,

QMAKE_LFLAGS_THREAD     =

QMAKE_RPATH             = -Wl,-rpath,

QMAKE_LIBS = 

QMAKE_LIBS_DYNLOAD      = -ldl

QMAKE_LIBS_X11 = 

QMAKE_LIBS_X11SM = 

QMAKE_LIBS_QT = -lqte

QMAKE_LIBS_QT_THREAD    = -lqte-mt

QMAKE_LIBS_QT_OPENGL = -lqgl

QMAKE_LIBS_QTOPIA = -lqtopia -lqpe

QMAKE_LIBS_THREAD       = -lpthread

QMAKE_MOC = $(QTDIR)/bin/moc

QMAKE_UIC = $(QTDIR)/bin/uic

QMAKE_AR = ar cqs

QMAKE_RANLIB =

QMAKE_TAR = tar -cf

QMAKE_GZIP = gzip -9f

QMAKE_COPY = cp -f

QMAKE_MOVE = mv -f

QMAKE_DEL_FILE = rm -f

QMAKE_DEL_DIR = rmdir

QMAKE_CHK_DIR_EXISTS = test -d

QMAKE_MKDIR = mkdir -p

接下来需要为QT-3添加TSLIB触摸屏支持,对源码包进行部分修改:

首先修改 src/tools/qconfig-local.h 文件(不存在此文件可在该目录下创建一个同名空文件),添加触摸屏支持:

Filesrc/tools/qconfig-local.h

#ifndef QT_H

#endif

#ifndef QT_DLL

#define QT_DLL

#endif

#define QT_QWS_IPAQ

#define QT_QWS_IPAQ_RAW

#define QT_NO_QWS_CURSOR

#define QT_NO_QWS_MOUSE_AUTO

然后添加TSLIB补丁,增加QT-3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值