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

jor*_*bor 1 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());
    }   
}
Run Code Online (Sandbox Code Playgroud)

在编译时给我这个错误:

undefined reference to `SoftwareSerial::SoftwareSerial(unsigned char, unsigned char, bool)'
Run Code Online (Sandbox Code Playgroud)

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

我错过了什么?

小智 5

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

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