本小节主要介绍Tslib-1.4库的编译与移植,下节主要Qt5.8的移植,以及Qt5.8与Tslib-1.4的对接,实现在Qt上的触摸功能;
一、开发环境以及工具
PC系统:Linux version 4.10.0-38-generic (buildd@lgw01-amd64-059) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #42~16.04.1-Ubuntu SMP Tue Oct 10 16:32:20 UTC 2017
交叉编译器:arm-xilinx-linux-gnueabi-gcc
硬件平台:赛灵思(XILINX)ZYNQ-7000开发板
二、前言
首先介绍下交叉编译器的使用方法,gcc(编译c语言——.c程序)、g++编译器(编译c++——.cpp程序)在PC Linux系统上一般是装好的,用他们编译好的程序只能在X86平台(32位系统,如Windows、Linux)、或者X64平台(64位PC系统)上运行,PC的CPU一般是Intel架构或者AMD架构;而Linux的嵌入式平台,CPU一般是ARM架构;如果需要在嵌入式平台上运行程序,那么就需要用该ARM平台所对应的交叉编译器(arm-linux-gcc或者arm-linux-g++)编译程序源码,然后拷贝到ARM开发板上运行。如果该应用程序还需要依赖某些库文件(比如动态库.So),那么就需要把该库的绝对路径添加到环境变量$LD_LIBRARY_PATH中,程序运行时就会链接到该.So库正常运行了。以上纯属个人在工作中的理解,有错误的地方请大家指正。
工具链下载:https://download.youkuaiyun.com/download/psy6653/10493762?utm_source=bbsseo
交叉编译器安装、使用的演示:
原理都一样,我就随便下载一个交叉编译重新安装;cross_compilers.tar.gz(交叉编译器源码包,一般是arm-linux-xxx的压缩包,我的是自己压缩的,再解压演示的)
解压该源码包(我是在/opt目录下解压的)
tar -zxvf cross_compilers.tar.gz
然后进入解压目录的bin目录下,我们可以看到该交叉编译器的许多工具
如何使用该交叉编译器呢?我习惯vim /etc/profile文件,在$PATH路径下增加该交叉编译器bin路径
PATH=PATH=$PATH:/mnt/workspace/qt/cross_compilers/bin/
让刚所修改的环境变量立即生效
source /etc/profile
让后我们在终端terminal中输入arm后,再按Tab键(自动补齐功能),我们就可以看到以arm开头的一些交叉编译器工具的文件,意思是环境变量设置成功,交叉编译器已经成功安装,并能使用。