zoukankan      html  css  js  c++  java
  • Linux 下移植QT(1)---tslib 1.4.0移植

    步骤1:下载工具包

      如下图

      链接在此,点我

    步骤2:将tslib文件放入Linux虚拟机中,

    步骤3:解压源码

      tar -xvf tslib-1.4.tar

      cd tslib-1.4

    步骤4:执行autogen.sh脚本产生configure文件。

       chmod 777 autogen.sh     赋予执行权限

         ./autogen.sh

       若出现以下问题(绿字),说明是在不同版本的 tslib 下执行 autogen.sh 产生。它们产生的原因一样,是因为没有安装automake 工具。(没有连接网络时,需连接)

      ./autogen.sh: 4: autoreconf: not found

      用一下命令即可。

      sudo apt-get install autoconf automake libtool 

    步骤5:执行configure生成Makefile文件。

      先查看交叉编译工具的全名

    (好像有点尴尬,用已知的全名查询全名。。。。。不过可以输入前几个字母按tab键补全,会弹出全名)

      $ echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache

      $ vi tslib-1.4/plugins/input-raw.c

      $ ./configure  --host=arm-cortex_a8-linux-gnueabi  --prefix=/home/linux/tslib --cache-file=$ARCH-linux.cache

    说明:

      --host是指你的交叉编译器的前缀;例如:你的交叉编译器是arm-linux-gcc,--host=arm-linux.如果是arm-none-linux-gnueabi-gcc

       --host=arm-none-linux-gnueabi

         --prefix 是你执行make install 的时候编译后生成的可执行文件和库文件以及配置文所安装的目录,这个目录不能和tslib源码目录相同;

     步骤6:编译安装 

      $ make

      有图示错误,这是因为open函数的语法不符合最新的gcc,解决方法是在/tests/ts_calibrate.c中加入open的第三个参数0777:

      修改如下。

    1 if ((calfile = getenv("TSLIB_CALIBFILE")) != NULL) {
    2 cal_fd = open (calfile, O_CREAT | O_RDWR, 0777);
    3 } else {
    4 cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR, 0777);
    5 }

      ①查找 grep calfile ./tests/ts_calibrate.c -n

      由图可知,在文件226行左右修改。

      sudo vim ./test/ts_calibrate.c

      修改之后,重新make,问题不见了

      $ make  install

    步骤7:将与安装目录同级下的tslib文件复制到挂宅文件系统中。

      $ cp -a /home/linux/tslib/ /source/rootfs

    步骤8:修改/rootfs/tslib下的etc目录中ts.conf文件

      将第二行的#module_raw input修改成module_raw input,注意一定要顶格写,否则程序执行时会发生读取ts.conf错误每次重编译tslib并安装后,都要重新修改/etc/ts.conf

      #  cd tslib/etc/

      #  vi ts.conf   修改长如下。

    步骤9:导出环境变量

      在/source/rootfs/etc/profile中添加如下代码:

    步骤10:开发板上运行/tslib/bin下的测试程序

      # /tslib/bin/ts_calibrate

  • 相关阅读:
    ThinkCMF框架任意内容包含
    网站防篡改脚本
    Apache Solr Velocity模板远程代码执行
    BurpSuite Intruder模块匹配返回包内容
    Kibana<6.6.0代码执行漏洞复现
    Thinkphp远程代码执行 payload汇总
    常用端口 简洁版
    NISP二级笔记(一) 信息安全管理
    oracle 中的角色
    oracle 用户对象权限
  • 原文地址:https://www.cnblogs.com/BANLOONG/p/9447084.html
Copyright © 2011-2022 走看看