我正在为一个项目创建一些类,这看起来非常具体,我不想保留在libraries文件夹中。它们大部分都在工作,但是,如果我想调用任何Arduino函数或consts,它将抛出错误“未在此范围内声明”。
草图:
#include "MyClass.h"
void setup(){
}
void loop(){
}
MyClass.h
class MyClass{
public:
MyClass(int inp);
int myFun();
};
MyClass.cpp
#include "MyClass.h"
#include <WProgram.h>
MyClass::MyClass(int inp){
pinMode(13,HIGH);
}
错误:
MyClass.cpp:'HIGH','pinMode'未在此范围内声明。
如果我把库放在库文件夹中就不会发生。想知道是否有办法将arduino函数包含在草图文件夹库中?
答案 0 :(得分:0)
AFAIK除了在Arduino-lib文件夹中之外,没有办法在任何地方拥有你的库。如果使用unix,您可以将libs放在sketch文件夹中,并使用ln
在Arduino-lib文件夹中创建指向这些库的链接。然后你也应该在IDE中看到它们
答案 1 :(得分:0)
实际上我只是通过查看另一个库来让它工作:P 而不是
#include <WProgram.h>
我们应该使用
#if ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif
我认为这对后向兼容性有害......
关于在sketch文件夹中使用库的问题。然而,草图文件夹库存在一些潜在的问题。