WiringPi on Ubuntu Mate

WiringPi on Ubuntu Mate

本文关键字:Mate Ubuntu on WiringPi      更新时间:2023-10-16

我编写了这段代码,使 Ubuntu Mate OS 中的 Raspberry Pi 3 上的 LED 闪烁:

#include <wiringPi.h>
int main(void){
wiringPiSetup();
pinMode(0, OUTPUT);
while(1){
digitalWrite(0, HIGH);
delay(500);
digitalWrite(0, LOW);
delay(500);
}
return 0;
}

我尝试使用以下方法编译代码:

gcc -o blink blinky.c -lwiringPi

但是它无法编译,并给了我这些错误:

/usr/lib/gcc/arm-linux-gnueabihf/5/../../../../lib/libwiringPi.so: undefined reference to `crypt'
/usr/lib/gcc/arm-linux-gnueabihf/5/../../../../lib/libwiringPi.so: undefined reference to `rint'
/usr/lib/gcc/arm-linux-gnueabihf/5/../../../../lib/libwiringPi.so: undefined reference to `pthread_join'
/usr/lib/gcc/arm-linux-gnueabihf/5/../../../../lib/libwiringPi.so: undefined reference to `pthread_create'
/usr/lib/gcc/arm-linux-gnueabihf/5/../../../../lib/libwiringPi.so: undefined reference to `pow'
/usr/lib/gcc/arm-linux-gnueabihf/5/../../../../lib/libwiringPi.so: undefined reference to `shm_open'
/usr/lib/gcc/arm-linux-gnueabihf/5/../../../../lib/libwiringPi.so: undefined reference to `pthread_cancel'
collect2: error: ld returned 1 exit status

我为WiringPi安装了所有必要的东西,但是我找不到上述错误的解决方案。

尝试一个更像这样的命令:

gcc -O3 -Wall -I/usr/local/include -Winline -pipe -L/usr/local/lib temperature.c  -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt -o temperature

您可以将自己的文件替换为temperature.ctemperature输出文件名。

此调用取自 wiringPiexamples目录中的Makefile

定义:add_definitions( -lwiringPi )target_link_libraries(${PROJECT_NAME}_class ${wiringPi_LIB} -lcrypt -lrt)

在CMakeLists中.txt为我做了这个技巧