带wiringPi库的交叉编译该怎么进行

前言

我们在进行交叉编译时,有的时候被编译文件使用了wiringPi库中封装的api这个时候我们的交叉编译方式也要随着改变,所以这篇博文来介绍这个方法。

一、wiringPi库的下载以及配置:

1、相关文件的下载
链接:https://pan.baidu.com/s/1cT08Deagt0_ydG07SGKb-A
提取码:3y6m
(这是一个wiringPi库的主要文件,下载后需要先解压。并由于这个库封装的并不完美,因而还需要下面的一个从树莓派拿下来的库来配合使用)
链接:https://pan.baidu.com/s/1gYEWo1Ix7bgRspNxvmG0iw
提取码:dvbl (这是从树莓派中移出来的库,不用解压)
2、环境的配置:
将解压好的wiringPi库移入liunx平台中,另一个也移进去。
然后我们创建软链接:在libwiringPi.so.2.50这个文件的根目录下,输入 ln-s libwiringPi.so.2.50 libwiringPi.so
从而生成了一个软链接,由ls -l 可以看到libwiringPi.so已经指向了libwiringPi.so.2.50
带wiringPi库的交叉编译该怎么进行
为求方便,将下载的wiringPi库也放在这个目录下,这样基本的配置就完成了,下面来看看怎么使用这个工具。

二、带wiringPi库的交叉编译的实际进行

输入命令:arm-linux-gnueabihf-gcc demo4.c -I /home/wenping/Desktop/wiringPijiaocha -L. -lwiringPi
带wiringPi库的交叉编译该怎么进行

带wiringPi库的交叉编译该怎么进行

我们来解读下这个命令,首先arm-linux-gnueabihf-gcc这个命令是正常交叉编译工具的指令,这可以在我上一篇博文了解到这个指令,然后demo4.c这个程序的代码截图也展示出来了,它是使用了wiringPi的相关api的,因而用它来检验我们的交叉编译是否能够正常编译
-I /home/wenping/Desktop/wiringPijiaocha -L. -lwiringPi这个后面的指令其实是指定库的位置,告诉编译器该去哪里寻找wiringPi库,大家可以根据自己的目录去修改它。
带wiringPi库的交叉编译该怎么进行
通过file命令查看交叉编译过后的可执行程序属性,可以看出它的适用平台变成了ARM,这样子我们就在x86平台上完成了ARM平台带wiringPi库的交叉编译。

总结

很多时候,我们的程序都会使用wiringPi库,因而掌握带wiringPi的交叉编译是非常重要的。