树莓派之带wiringPi库交叉编译及软链接相关概念

1. 在linux上编译带有wiringPi库的树莓派c文件
在这里插入图片描述
出现没有找到wiringPi库的头文件,解决办法:找到wiringPi头文件的目录,- I 指定wiringPi的路径,这时候又会出现图中所示错误,说明没有用 - (小)L链接 wiringPi库,当链接到wiringPi库再次编译时,又提示没有找到-lwiringPi库,只能在树莓派上把wiringPi库移植过来了。
在这里插入图片描述

移植

树莓派中/usr/lib中有wiringPi的库

在这里插入图片描述
树莓派将库文件发送给linux
如何把编译生成的可执行文件下载到开发板:
scp libwiringPi.so.2.50 [email protected]:/home/pi
指令 文件名 开发板用户名@开发板地址:开发板的绝对路径
在这里插入图片描述

linux再将库文件编译成软链接

软链接:
参考文章: https://www.cnblogs.com/zhangna1998517/p/11347364.html
概念:
1. 软链接文件有类似于Windows的快捷方式。
2. 在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
3. 你选定的位置上生成一个文件的镜像,不会占用磁盘空间
如何生成:
ln -s libwiringPi.so.2.50 libwiringPi.so
指令 参数 要被链接的文件 软链接文件名字

	硬链接:ln libwiringPi.so.2.50 libwiringPi.so 
			它会在你选定的位置上生成一个和源文件大小相同的文件

成功编译wiringPI库的c文件

指令:
arm-linux-gnueabihf-gcc shumei.c -I /home/CLC/lessonPi/WiringPi/wiringPi -L. -l wiringPi -o shumei
arm-linux-gnueabihf-gcc 为交叉编译工具 类似于 gcc的功能
shumei.c 为交叉编译的的c文件
-I /home/CLC/lessonPi/WiringPi/wiringPi
-(大写)i 为指定 /home/CLC/lessonPi/WiringPi/wiringPi 路径去链接wiringPi库的头文件
- L . 为指定当前路径去链接wiringPi库
-(小写)L wiringPi 链接wiringPi库
- o shumei 编译成可执行文件 shumei

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_50620305/article/details/109115851