C ++中未定义的库错误引用

时间:2012-10-10 14:00:32

标签: c++ include atmel

此代码:

#include "SoftwareSerial.h">
#include <avr/io.h>
#include <HardwareSerial.h>
#include <avr/interrupt.h>

void read_response();

int main () {
    sei();
    Serial.begin(2400);
    uint8_t receivePin = 2;
    uint8_t transmitPin = 3;
    SoftwareSerial softSerial(receivePin, transmitPin);
    softSerial.begin(2400);

    while(1){
        softSerial.println("to soft serial");
        Serial.print(softSerial.read());
    }   
}

在编译时给我这个错误:

undefined reference to `SoftwareSerial::SoftwareSerial(unsigned char, unsigned char, bool)'

我尝试过使用#include“SoftSerial.h”,但没有区别。 SoftSerial.h和SoftSerial.cpp文件位于我的库文件夹中,其中HardwareSerial.h文件也驻留在该文件夹中。

我缺少什么?

1 个答案:

答案 0 :(得分:5)

这不是编译错误。这是链接器错误。

如果SoftSerial是您自己项目的一部分,则CPP文件可能不是已编译项目的一部分。 如果是外部库,则需要链接到它。如何操作取决于您的IDE /编译器。