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


(fatal error: wiringPi.h: 没有那个文件或目录)
(cannot find -lwiringPi
collect2: error: ld returned 1 exit status)

第一次写教程,希望能从此学渣变学霸哈哈哈

格式什么的随便看看吧,不会用csdn哈,之前都只是在上面查东西,这次死活查不到,没想到被我误打误撞解决了,没错我就是辣个靠运气的菜鸡。

问题一:上位机交叉编译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下。
在这里插入图片描述
完美运行。
在这里插入图片描述
运行要在树莓派上,这里是懒得截图了。。小灯泡闪耀起来~

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值