【交叉编译】tslib库交叉编译

本文详细介绍了如何在Linux环境下,特别是在ARM平台的buildroot上下载、安装和编译触屏事件处理库tslib,包括源码下载、依赖安装、创建编译脚本以及编译过程。

tslib 是一个捕捉触屏事件的工具。qt 库在交叉编译的时候,提供了 -tslib 选项,使用该选项需要提前对 tslib 库进行交叉编译。


目录

1、源码下载

2、安装依赖 

3、创建编译脚本

4、开始编译


1、源码下载

tslib 源码下载地址: https://github.com/libts/tslib

2、安装依赖 

sudo apt-get install automake autoconf libtool libsysfs-dev

3、创建编译脚本

进入到 tslib-master 目录,创建脚本文件 auto-config.sh,脚本文件的内容如下:

# ! /bin/sh
./configure \
--prefix=/home/gzx/tool/tslib/tslib-master-build \
--host=arm-linux \
CC=arm-linux-gnueabi-gcc

--prefix: 指定安装路径

--host: 指定交叉编译的目标平台

CC: 指定交叉编译工具链的编译器,一需要写编译器的绝对路径(这里这样写是因为添加了环境变量)

chmod a+x auto-config.sh    # 给脚本添加可执行权限

### tslib 1.12 交叉编译指南 tslib 1.12 是一个经过充分测试的稳定版本,适用于嵌入式 Linux 平台的触摸屏设备校准和抽象处理。为嵌入式平台交叉编译 tslib 1.12 需要配置交叉编译工具链,并确保环境变量和配置选项正确。 首先,需要设置交叉编译工具链的路径和目标架构。通常使用 `export` 设置 `ARCH` 和 `CROSS_COMPILE`,例如使用 `arm-buildroot-linux-gnueabihf-` 前缀的交叉编译工具链,并将其加入 `PATH` 环境变量中: ```bash export ARCH=arm export CROSS_COMPILE=arm-buildroot-linux-gnueabihf- export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin ``` 进入 tslib 1.12 的源码目录后,创建一个脚本文件(如 `auto-config.sh`)用于执行 `configure` 操作,并指定交叉编译参数: ```bash #!/bin/sh ./configure \ --prefix=/home/gzx/tool/tslib/tslib-master-build \ --host=arm-linux \ CC=arm-linux-gnueabi-gcc ``` 该脚本指定了安装路径(`--prefix`)、目标架构(`--host`)以及使用的交叉编译器(`CC`)。执行该脚本后,使用 `make` 和 `make install` 完成编译和安装过程[^4]。 在完成交叉编译后,需要将生成的 tslib 文件(如文件、插件和配置文件)复制到目标根文件系统的相应目录中。例如,将编译生成的 tslib 安装目录(如 `/home/gzx/tool/tslib/tslib-master-build`)复制到根文件系统的 `/usr/lib/arm-tslib` 目录下[^2]。 为了确保 tslib 在目标系统上正常运行,还需要设置相关的环境变量,包括配置文件路径、触摸设备节点、帧缓冲设备节点、插件目录等: ```bash export TSLIB_ROOT=/usr/lib/arm-tslib export TSLIB_CONSOLEDEVICE=none export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_TSDEVICE=/dev/input/event1 export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts export LD_PRELOAD=$TSLIB_ROOT/lib/libts.so ``` 这些环境变量确保了 tslib 能够正确加载配置文件、插件以及与触摸设备进行交互。其中 `TSLIB_TSDEVICE` 应根据实际使用的触摸设备节点进行调整,如 `/dev/input/event7` 或其他设备节点[^1]。 在实际部署时,建议将这些环境变量写入 `/etc/profile` 或系统启动脚本中,以便每次系统启动时自动加载 tslib 的运行环境[^2]。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值