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