代码之家  ›  专栏  ›  技术社区  ›  Mário Marques

使用自定义库“未定义引用”[AVR]时出错

  •  0
  • Mário Marques  · 技术社区  · 7 年前

    我正在使用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时,都会出现以下错误:

    未定义对“qtr\u rc\u init”的引用

    有关 Pololu AVR library .

    1 回复  |  直到 7 年前
        1
  •  0
  •   David Grayson    7 年前

    可以通过添加 -lpololu_atmega328p 链接器标志。有关所需编译器和链接器选项的更多信息,请参阅 user's guide 您链接到。

    推荐文章