问题一:上位机交叉编译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下。
完美运行。
|