使用自定义库时出错 "undefined reference" [AVR]
Error while using custom library "undefined reference" [AVR]
我正在使用 Eclipse 来编写 PID 巡线机器人的程序。使用的微控制器是Atmega328P。为此,我使用了一个 Pololu 的 QTR-8RC 红外传感器和两个用于连续旋转的改进伺服系统。我和我的合作伙伴决定使用 Pololu AVR 库,因为它包含专门用于伺服控制和红外传感器的函数。
问题是 Eclipse 确实可以识别该库,但无法编译。
例如:
#include <pololu/orangutan.h>
#include <pololu/3pi.h>
#include <pololu/qtr.h>
#include <pololu/encoders.h>
unsigned char qtr_rc_pins[]={IO_D2,IO_D3,IO_D4,IO_D5,IO_D6,IO_D7}; //Setup Qtr pins
void main(){
qtr_rc_init(qtr_rc_pins,6,2000,255); //starts qtr
while(1){} //does nothing
每当我尝试编译此 eclipse 时,都会出现以下错误:
undefined reference to `qtr_rc_init'
有关 Pololu AVR library 的更多信息。
您遇到的未定义引用错误可以通过将 -lpololu_atmega328p
添加到您的链接器标志来解决。有关您需要哪些编译器和链接器选项的更多信息,请参阅您链接到的 user's guide 中的 "Using the Pololu AVR Library for your own projects" 部分。
我正在使用 Eclipse 来编写 PID 巡线机器人的程序。使用的微控制器是Atmega328P。为此,我使用了一个 Pololu 的 QTR-8RC 红外传感器和两个用于连续旋转的改进伺服系统。我和我的合作伙伴决定使用 Pololu AVR 库,因为它包含专门用于伺服控制和红外传感器的函数。
问题是 Eclipse 确实可以识别该库,但无法编译。
例如:
#include <pololu/orangutan.h>
#include <pololu/3pi.h>
#include <pololu/qtr.h>
#include <pololu/encoders.h>
unsigned char qtr_rc_pins[]={IO_D2,IO_D3,IO_D4,IO_D5,IO_D6,IO_D7}; //Setup Qtr pins
void main(){
qtr_rc_init(qtr_rc_pins,6,2000,255); //starts qtr
while(1){} //does nothing
每当我尝试编译此 eclipse 时,都会出现以下错误:
undefined reference to `qtr_rc_init'
有关 Pololu AVR library 的更多信息。
您遇到的未定义引用错误可以通过将 -lpololu_atmega328p
添加到您的链接器标志来解决。有关您需要哪些编译器和链接器选项的更多信息,请参阅您链接到的 user's guide 中的 "Using the Pololu AVR Library for your own projects" 部分。