Ubuntu20.04下Jetson Nano安装Adafruit PWM Servo库报错求助
解决方法与替代方案
针对Adafruit库的问题解决
- 这个库的
Makefile里没有编写install目标规则,所以执行sudo make install会报错,你可以手动编译使用:- 把库中的
Adafruit_PWMServoDriver.h和Adafruit_PWMServoDriver.cpp文件复制到自己的项目目录 - 编译代码时将这两个文件一起编译,示例命令:
若缺少wiringPi依赖,先执行g++ -o your_program your_code.cpp Adafruit_PWMServoDriver.cpp -lwiringPisudo apt install libwiringpi-dev安装
- 把库中的
- 若想把库作为系统级库使用,可手动编译成静态库:
- 在库目录下执行:
g++ -c Adafruit_PWMServoDriver.cpp -o Adafruit_PWMServoDriver.o ar rcs libAdafruitPWMServoDriver.a Adafruit_PWMServoDriver.o - 将生成的
libAdafruitPWMServoDriver.a复制到/usr/local/lib,Adafruit_PWMServoDriver.h复制到/usr/local/include - 编译自己的代码时链接该库:
g++ -o your_program your_code.cpp -lAdafruitPWMServoDriver -lwiringPi
- 在库目录下执行:
替代库推荐
- pigpio库:支持Jetson Nano,可通过I2C控制PCA9685,安装步骤:
- 克隆仓库:
git clone https://github.com/joan2937/pigpio - 进入目录执行
make,再执行sudo make install - 使用时在代码中包含
pigpio.h,通过I2C函数直接操作PCA9685寄存器,或使用基于pigpio封装的PCA9685控制代码
- 克隆仓库:
- 手动编写I2C控制代码:PCA9685的寄存器操作逻辑简单,直接通过Linux的I2C设备文件(
/dev/i2c-1)读写,无需第三方库。核心步骤为打开设备文件,用ioctl设置从设备地址,再读写寄存器配置PWM参数。
内容的提问来源于stack exchange,提问作者yume
相关产品推荐
相关产品推荐

