分享

wiringPi交叉编译遇到的头文件、库问题解决

 魅影苍穹 2020-03-24

问题一:上位机交叉编译arm-linux-gnueabihf-gcc -o cs cs.c -lwiringPi找不到头文件

(fatal error: wiringPi.h: 没有那个文件或目录)

安装wiringPi运行./build即可安装,安装包去别的教程下,很多,我懒得搞了。
然后编译cs.c文件

#include <wiringPi.h> #include<stdio.h> int main(void) { wiringPiSetup() ; pinMode (0, OUTPUT) ; for(;;) { digitalWrite(0, HIGH) ; //GPIO 0置高电位(小灯泡亮) printf('linght\n'); delay (1000) ; digitalWrite(0, LOW) ; //GPIO 0置低电位(小灯泡灭) printf('dark\n'); delay (1000) ; } }

这是一个控制小灯泡闪灭的代码,二极管的两个引脚一个接GPIO 0 一个接GND(地)即可。

一开始在上位机编译:
在这里插入图片描述
报错没有头文件
直接用gcc编译发现是可行的(也可以直接在树莓派上安装wiringPi进行编译),那么就是文件在哪的问题了,菜鸡之疯狂找。。
/usr/local/include
在这里插入图片描述
这几个文件放到/usr/local/rpi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/lib/gcc/arm-linux-gnueabihf/4.8.3/include
忘了说了。。。我的交叉编译工具安装在/usr/local/rpi下面

然后。。。

问题二:上位机交叉编译arm-linux-gnueabihf-gcc -o cs cs.c -lwiringPi找不到库文件

(cannot find -lwiringPi
collect2: error: ld returned 1 exit status)
在这里插入图片描述
在树莓派上安装wiringPi,然后在树莓派的/usr/local/lib下找到这四个文件复制,注意是树莓派上的,如果是电脑上的会出现文件无法执行。(树莓派上不好截图,截的电脑上的)
在这里插入图片描述
复制到电脑上的usr/local/rpi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/arm-linux-gnueabihf/lib下。
在这里插入图片描述
完美运行。
在这里插入图片描述

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多