使用自定义库时出错"未定义的引用" [AVR]

时间:2017-12-23 17:08:41

标签: eclipse avr avr-gcc avrdude

我正在使用Eclipse来编程PID线跟随器机器人。使用的微控制器是Atmega328P。为此,我使用Pololu的一个QTR-8RC红外传感器和两个改进的伺服系统进行连续旋转。我和我的合作伙伴决定使用Pololu AVR库,因为它包含专门用于伺服控制和IR传感器的功能。

问题是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时,都会给出以下错误:

  

对`qtr_rc_init&#39;

的未定义引用

有关Pololu AVR library的更多信息。

1 个答案:

答案 0 :(得分:0)

您可以通过向链接器标志添加-lpololu_atmega328p来解决未定义的引用错误。有关所需编译器和链接器选项的更多信息,请参阅&#34;将Pololu AVR库用于您自己的项目&#34;您链接到的user's guide部分。