交叉编译wiringOP库
1. 修改build.sh脚本,在echo “WiringPi Library” 之前添加:
mkdir $PWD/_INSTALL/usr/local/bin -p
mkdir $PWD/_INSTALL/usr/local/include -p
mkdir $PWD/_INSTALL/usr/local/lib -p
2. 修改devLib/Makefile、gpio/Makefile、wiringPiD/Makefile
将所有Makefile中的CC := gcc 改成 CC := aarch64-none-linux-gnu-gcc
**3. 修改devLib/Makefile、gpio/Makefile、wiringPiD/Makefile 、wiringPi/Makefile **
修改DESTDIR?=/usr 替换为DESTDIR?= $(shell pwd)/../_INSTALL/usr
4. 修改wiringPi/Makefile
1、将$Q ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION)
$(DESTDIR)/lib/libwiringPi.so修改为:$Q ln -sf
$(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION)
$(DESTDIR)$(PREFIX)/lib/libwiringPi.so
5.修改devLib/Makefile
将$Q ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION)
$(DESTDIR)/lib/libwiringPiDev.so修改为:$Q ln -sf
$(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION)
$(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so
6.devLib/Makefile
INCLUDE = -I. 修改为INCLUDE = -I. -I$(DESTDIR)$(PREFIX)/include
7.然后执行:
./build
这时候,就会wiringOP-master下生成_INSTALL目录,里面有完整编译出来的库文件和头文件
test@test:~/test/wiringOP-master/_INSTALL$ tree -a
.
└── usr
└── local
├── bin
│ └── gpio
├── include
│ ├── ads1115.h
│ ├── bmp180.h
│ ├── drcNet.h
│ ├── drcSerial.h
│ ├── ds1302.h
│ ├── ds18b20.h
│ ├── font.h
│ ├── gertboard.h
│ ├── htu21d.h
│ ├── lcd128x64.h
│ ├── lcd.h
│ ├── max31855.h
│ ├── max5322.h
│ ├── maxdetect.h
│ ├── mcp23008.h
│ ├── mcp23016.h
│ ├── mcp23016reg.h
│ ├── mcp23017.h
│ ├── mcp23s08.h
│ ├── mcp23s17.h
│ ├── mcp23x0817.h
│ ├── mcp23x08.h
│ ├── mcp3002.h
│ ├── mcp3004.h
│ ├── mcp3422.h
│ ├── mcp4802.h
│ ├── oled.h
│ ├── OrangePi.h
│ ├── pcf8574.h
│ ├── pcf8591.h
│ ├── piFace.h
│ ├── piGlow.h
│ ├── piNes.h
│ ├── pseudoPins.h
│ ├── rht03.h
│ ├── scrollPhat.h
│ ├── sn3218.h
│ ├── softPwm.h
│ ├── softServo.h
│ ├── softTone.h
│ ├── sr595.h
│ ├── w25q64.h
│ ├── wiringPi.h
│ ├── wiringPiI2C.h
│ ├── wiringPiSPI.h
│ ├── wiringSerial.h
│ ├── wiringShift.h
│ └── wpiExtensions.h
├── lib
│ ├── libwiringPiDev.so -> /home/pg/test/wiringOPmaster/devLib/../_INSTALL/usr/local/lib/libwiringPiDev.so.2.46
│ ├── libwiringPiDev.so.2.46
│ ├── libwiringPi.so -> /home/pg/test/wiringOPmaster/wiringPi/../_INSTALL/usr/local/lib/libwiringPi.so.2.46
│ └── libwiringPi.so.2.46
└── share
└── man
└── man1
└── gpio.1
传到香橙派上
scp _INSTALL.tar.gz orangepi@192.168.1.103:/home/orangepi
后面我们就可以把_INSTALL里的内容拷贝到香橙派的根目录下,然后执行
sudo ldconfig
就可以使用该库了,可以使用
sudo gpio readall
测试库是否链接正常。