Rob*_*ins 18 c++ ide arduino include
我正在尝试编写一个Arduino库(实际上是一个C++类),它本身引用了我在Mac的〜/ Documents/Arduino/libraries目录中安装的另一个库.
在我正在写的图书馆的.cpp的顶部,我试过了
#include <ReferencedLibrary.h>
Run Code Online (Sandbox Code Playgroud)
和
#include "ReferencedLibrary.h"
Run Code Online (Sandbox Code Playgroud)
......两者都不起作用.我可以#include <ReferencedLibrary.h>
在〜/ Documents/Arduino目录中成功绘制草图.我错过了什么或者这是Arduino IDE/makefile的限制吗?有解决方法吗?
小智 12
我已经能够通过使用相对路径在另一个Arduino库中包含一个库.例如,要将AbstractSwitch库包含到DigitalSwitch库中,假设这两个库都位于Arduino标准库文件夹中的各自单独的文件夹中,则可以使用以下include语句:
#include "../AbstractSwitch/AbstractSwitch.h"
Run Code Online (Sandbox Code Playgroud)
换句话说,您的include语句应为:
#include "../LibraryFolder/LibraryHeaderFile.h"
Run Code Online (Sandbox Code Playgroud)
nic*_*ten 11
这里的文档http://www.arduino.cc/en/Hacking/BuildProcess说明:
include路径包括sketch的目录,目标目录(/ hardware/core //)和avr include目录(/ hardware/tools/avr/avr/include /),以及任何库目录(在/ hardware/libraries中) /)包含主草图文件包含的头文件.
这意味着如果您#include "ReferencedLibrary.h"
从主草图文件中,这会导致该文件的libraries
目录被添加到要包含的其他库的包含路径中.有点破解,但它确实可以在我的Mac上运行.
这个问题在Arduino 1.6.6版本中得到了解决.1.6.6的发行说明提到库到库依赖关系已得到修复.
库到库依赖关系:当草图导入库,并且该库使用另一个库时,IDE将在不必向草图添加无用的#include的情况下找到它
将您的版本更新为1.6.6或更高版本将解决您的问题.
归档时间: |
|
查看次数: |
21477 次 |
最近记录: |