Arduino subfolder

如果想要使用子目录存储自己封装的库,一般情况下文件列表如下

└─Folder
    │  adf4351_FRAC.ino
    │  
    └─SubFolder
            ADF4351.cpp
            ADF4351.h

但是会报这个undefined reference的错误

1563806761542

尝试了各种方法,首先在.ino, .cpp, .h文件在同一个目录下是可以正常运行的,在子目录下的cpp文件中include了.h文件,然而尝试了一番之后发现只有在.h文件里面include cpp才能正常运行。

这很反常,于是上网仔细搜索了一下,结论如下。

Arduino 1.6.10版本之后,增加了新特性,自己封装的库必须放在名为src的子目录下

1563806942798

改变SubFolder的名称之后再编译

1563807211816

编译成功,此时文件树如下

1563807241481
这个新特性浪费了一晚上时间,加了这么大的限制,官方文档也没有说明。

这里是原合并的分支

Limit recursive sketch compilation to the src directory by matthijskooijman · Pull Request #148 · arduino/arduino-builder

Last modification:September 28, 2019
恰饭环节