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

问题描述 投票:0回答:1

我正在使用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

每当我尝试编译这个日食时都会给我以下错误:

对`qtr_rc_init'的未定义引用

有关Pololu AVR library的更多信息。

eclipse avr avr-gcc avrdude
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.