tslib.1.19 移植安装的问题和步骤

简介: tslib.1.19 移植安装的问题和步骤

tslib-1.19.tar.gz 可以去官网下载

1.解压、配置

$ tar zxvf tslib-1.19.tar.gz
$ cd tslib-1.19/
$ CC=arm-hisiv100nptl-linux-gcc ./configure --prefix=`pwd`/res_tslib --host=arm-hisiv100nptl-linux  --enable-static=yes --enable-shared=no

配置的具体信息可以执行 ./configure -h 进行查看,这里说一下上面的配置:

CC=arm-hisiv100nptl-linux-gcc : 指定 gcc 编译器,没指定的话会使用系统默认的编译器

--prefix=`pwd`/res_tslib : 指定make install时要安装的目录

--host=arm-hisiv100nptl-linux : 指定交叉编译后的程序要运行的 host

--enable-static=yes : 编译成静态库

--enable-shared=no : 禁止编译动态库


2.编译

解压和配置之后,执行 make 编译,报错如下:

$ make
...
make[2]: 正在进入目录 `/home/samba/tslib/tslib-1.19/tests'
  CCLD     ts_test
../src/.libs/libts.a(ts_setup.o): In function `scan_devices':
ts_setup.c:(.text+0xbc): undefined reference to `EVIOCGPROP'
ts_setup.c:(.text+0x148): undefined reference to `EVIOCGPROP'
ts_setup.c:(.text+0x1c8): undefined reference to `EVIOCGPROP'
ts_setup.c:(.text+0x244): undefined reference to `EVIOCGPROP'
collect2: ld returned 1 exit status
make[2]: *** [ts_test] 错误 1
make[2]:正在离开目录 `/home/samba/tslib/tslib-1.19/tests'
make[1]: *** [all-recursive] 错误 1
make[1]:正在离开目录 `/home/samba/tslib/tslib-1.19'
make: *** [all] 错误 2

报错:EVIOCGPROP 没有定义。


3.排错

(1)先试一下是不是配置的问题,直接全部按照默认的配置,编译一下

$ ./configure --prefix=`pwd`/res_tslib
$ make clean
$ make

结果:make编译通过,说明是配置的参数问题或编译器的问题。

(2)只使用默认编译器,其他配置参数全跟之前一样

$ ./configure --prefix=`pwd`/res_tslib --enable-static=yes --enable-shared=no
$ make clean
$ make

结果:make编译通过,说明很大可能是编译器的问题。

(3)使用其他的交叉编译器 arm-hisiv400-linux-gcc

$ CC=arm-hisiv400-linux-gcc ./configure --prefix=`pwd`/res_tslib --host=arm-hisiv400-linux  --enable-static=yes --enable-shared=no
$ make clean
$ make

结果:make编译通过,进一步确定可能是编译器问题。


(4)定位问题,并修改

①结合报错原因 “EVIOCGPROP 没定义”,猜测 EVIOCGPROP 可能是在编译器的头文件定义的,所以去安装编译器的目前搜索一下

  • 找到 arm-hisiv400-linux-gcc 的目录,搜索 “EVIOCGPROP”,找到在 input.h 有该定义
$ which is arm-hisiv400-linux-gcc
/opt/hisi-linux/x86-arm/arm-hisiv400-linux/target/bin/arm-hisiv400-linux-gcc
$ cd /opt/hisi-linux/x86-arm/arm-hisiv400-linux
$ grep "EVIOCGPROP" -rn ./                 
./target/usr/include/linux/input.h:110:#define EVIOCGPROP(len)          _IOC(_IOC_READ, 'E', 0x09, len)         /* get device properties */
$ 
  • 找到 arm-hisiv100nptl-linux-gcc 的目录,搜索 “EVIOCGPROP”,找不到相关定义
$ which is arm-hisiv100nptl-linux-gcc
/opt/hisi-linux-nptl/arm-hisiv100-linux/target/bin/arm-hisiv100nptl-linux-gcc
$ cd /opt/hisi-linux-nptl/arm-hisiv100-linux/
$ grep "EVIOCGPROP" -rn ./
$

解决方法

  • 打开 src/tslib.h
$ vi src/tslib.h
  • 加入下面这行定义
#define EVIOCGPROP(len)          _IOC(_IOC_READ, 'E', 0x09, len)         /* get device properties */

2018122814580746.png

  • 重新配置、编译通过、安装
$ CC=arm-hisiv100nptl-linux-gcc ./configure --prefix=`pwd`/res_tslib --host=arm-hisiv100nptl-linux  --enable-static=yes --enable-shared=no
$ make clean
$ make
$ make install

完成后,在当前目录会生成一个res_tslib目录

$ ls res_tslib/
bin  etc  include  lib  share


目录
相关文章
|
4月前
|
Ubuntu Shell 芯片
详细讲解移植u-boot.2022.10版本移植到开发板基本方法
详细讲解移植u-boot.2022.10版本移植到开发板基本方法
80 0
|
8月前
|
Ubuntu 编译器 网络安全
RK3568开发笔记(七):在宿主机ubuntu上搭建Qt交叉编译开发环境,编译一个Demo,目标板运行Demo测试
在之前的博文中已经搭建好了一个比较完善的ubuntu宿主机,都很完善了但是发现没有Qt交叉编译开发环境,所以还需要搭建一套Qt交叉编译开发环境。
|
IDE 开发工具 C++
MDK5软件入门之——基础工程创建及下载和调试
MDK5软件入门之——基础工程创建及下载和调试
307 0
MDK5软件入门之——基础工程创建及下载和调试
Keil uVision5软件的操作与编写基础(入门)
一、如何新建一个空白文档 1.打开Keil uVision5,将会出现工作界面。如图所示: 2.点击【project】选项,再去点击【New uVision project...】选项。如图所示: 打开之后,会弹出一个界面。这时我们点击【新建文件夹】,我们先将新建的文件夹重命名为001. 打开001这个文件夹,并且将文件名命名为002。如图所示: 此时会弹出一个新界面Select Device for Target 'Target 1',这时候我们选择下图中的Atmel,然后再去找到AT89C51。 3.点击工作界面左上角的白色小纸(New),如图所示: 4. 然后保存这个文档,点击左上角的
872 0
Keil uVision5软件的操作与编写基础(入门)
|
Ubuntu Linux C语言
Linux下 tar命令(工具)的移植,源码下载、详细移植步骤
Linux下 tar命令(工具)的移植,源码下载、详细移植步骤
422 0
Linux下 tar命令(工具)的移植,源码下载、详细移植步骤
|
Ubuntu 网络安全 数据安全/隐私保护
鸿蒙系统环境搭建、源码编译与烧写之经典
大家好,今天学习一下,如何部署鸿蒙环境,并在ubuntu系统下编译,以及烧写镜像的方法。 目录
320 0
鸿蒙系统环境搭建、源码编译与烧写之经典
|
IDE 编译器 Linux
Hi3516开发笔记(八):Hi3516虚拟机交叉开发环境搭建之配置QtCreator开发交叉编译环境
Hi3516开发笔记(八):Hi3516虚拟机交叉开发环境搭建之配置QtCreator开发交叉编译环境
Hi3516开发笔记(八):Hi3516虚拟机交叉开发环境搭建之配置QtCreator开发交叉编译环境
|
Web App开发 数据可视化 Unix
Windows环境VS2017编译skia库,亲测成功,借助skui的方法
Windows环境VS2017编译skia库,亲测成功,借助skui的方法
629 0
Windows环境VS2017编译skia库,亲测成功,借助skui的方法
|
IDE 开发工具 C++
Windows环境VS2017编译skia库-m84,亲测成功,使用官方编译的方法
Windows环境VS2017编译skia库-m84,亲测成功,使用官方编译的方法
479 0
Windows环境VS2017编译skia库-m84,亲测成功,使用官方编译的方法

热门文章

最新文章