eclipse-cdt - Eclipse 中的自定义库,带有交叉引用的 Arduino 插件
问题描述
我对引用其他自定义库中的标头的自定义库有疑问。这是在带有 9.11 CDT - Arduino 插件的 Eclipse (2020-03) 下。(所以此时最新版本)
到目前为止,我一直在使用 Sloeber,它包括来自所有自定义库的所有包含路径,所以一切都很好。但是对于最新的 Eclipse/CDT 版本,sloeber 不再工作了。由于无论如何它应该不再是必需的,我试图让我的项目只使用 CDT-Arduino 插件来构建。简单的项目构建良好,但更复杂的问题......</p>
构建过程(生成文件)似乎扫描了库目录,因为我可以看到生成文件中的所有条目来构建它在那里找到的东西。但是我其中一个库引用了另一个找不到它的标题。当然,我可以只编辑包含并使其相对,但由于这些是导入的库,我不想对代码进行更改。
使用 Arduino 插件,项目属性中也不再配置包含路径等:-( 通常我会在那里添加包含路径,但 arduino 插件似乎想自己完成这一切......
任何想法,我如何添加所需的包含路径?有没有办法在 makefile.ini 中做到这一点?
解决方案
我找到了一种不同的更好的方法来添加自定义库,这也解决了包含路径问题。可悲的是,没有关于此的文档。
无论如何,这很简单,只需将库复制到…/.arduinocdt/libraries/ 文件夹即可。自定义库必须包含 library.jason 和 library.properties 文件。打开 Arduino 下载管理器时,您可以看到新的库,您可以添加它。Eclipse 将从 json/properties 读取库版本,并将数据以正确的形式复制到带有版本号的子目录中。
对于以这种方式添加的库,将找到所有包含/标题,而不会出现问题,包括引用其他库的库。
推荐阅读
- validation - ASP.Net MVC5 密码要求验证阻止我提交
- node.js - 使用 Node JS SDK 从 DynamoDB 获取数据
- keras - Keras:设置具有序列错误的数组元素
- python - python pandas:查找前 3 个常用名称
- java - 无法解析对应的jni函数
- python - ForeignKey dateField 结果无
- c# - 使用 BeginGetResponse 发送许多相同的 HttpWebRequest 时,有一小部分没有完成
- php - 使用 Laravel 将行数据转换为列数据
- angularjs - 角JS。如何在两个应用程序之间共享单个服务
- css - Angular 5 渐变背景图片