图书馆不在课堂范围内

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

我有一些代码试图拆分成模块,编译的原始代码是:

#include <LoRa.h>

void setup() {
  // put your setup code here, to run once:
    LoRa.setPins(18, 23, 26);

}

将其放入类中也可以在主文件中使用,但将其拆分为头文件和实现文件总是无法构建: 编译错误:“LoRa”未在此范围内声明

代码如下: main.ino

#include "test.h"


void setup() {
    // put your setup code here, to run once:
  

}

void loop() {
  // put your main code here, to run repeatedly:

}

测试.h

#ifndef LORA_H
#define LORA_H
#include <LoRa.h>


class test {

    public:
  
        test();
};

#endif

测试.cpp

#include <Arduino.h>
#include "test.h"


test::test() {

    LoRa.setPins(18, 23, 26);

}

我已经重写了很多次,但它永远不会构建

c++ arduino esp32 lora
1个回答
0
投票

你的

test.h
有LoRa的头保护,这意味着如果你的
test.h
首先被编译,LoRa的头将完全是空的(假设它使用
LORA_H
头保护)

尝试使用与 LORA_H 不同的标头保护:

#ifndef TEST_H
#define TEST_H
#include <LoRa.h>
© www.soinside.com 2019 - 2024. All rights reserved.