Arduino IDE如何添加库文件(Windows下)

一、通过Arduino IDE添加

(1)通过库管理器在线添加

在Arduino IDE工具菜单中,可以找到库管理器的入口,目录如下图

这种方式属于在线安装,可以对开发者发布在Arduino上的库进行搜索、下载、更新,但是由于某些原因,部分地区和敏感时期这种方式可能会404,而且这上面的库更新速度远远不如GitHub或者Gitee的更新速度,仅适合初学者使用,不适合深入使用。

(2)通过ZIP文件离线添加

通过其他方式下载到.zip的库,这种情况下就需要使用这种方式进行添加,入口如图

这种方式可以添加各种途径来源的库,而且是完全不需要网络的情况下,但往往需要开发者去各大网站查找库,或者从开源作者处下载库。从GitHub或者Gitee直接下载的代码压缩包可以使用这种方式进行添加,而且开箱即用,不需要重启Arduino IDE即可进行识别。对于一些非标准的库,这种方法可能会添加失败,可以使用最后一种方法。

二、通过文件复制的方式直接添加

(1)添加到Arduino IDE

Arduino IDE在安装的时候会在文档目录下创建一个Arduino文件夹,内含libraries子文件夹,大部分通过上面两种方法添加的库都会在这个文件夹里面出现,具体路径见图

 将库代码或者压缩包解压到打开就有.h或者.c文件或者有examples文件夹,然后复制粘贴到这个目录下,重启Arduino IDE即可完成添加。

(2)只添加到项目

这种方式适合一些专一性大的库,开发者只想该库用于这个项目,而不想被其他项目使用,从而导致库冲突或者include使用了错误的库。这种条件下,可以把库文件复制到.ino文件同级目录下,在include时使用 #include "/src/WiFi.h"包含路径,而且优先在项目下搜索库文件进行引用。

### 如何在Arduino IDE中包含.h文件 为了在Arduino IDE环境中成功使用自定义或第三方`.h`头文件,需遵循特定的方法来确保这些文件被正确识别并编译。当涉及到外部库时,通常的做法是通过Arduino库管理器安装所需库;但对于手动添加的`.h`以及伴随的`.cpp`文件,则需要按照一定结构放置于项目内。 #### 方法一:创建子文件夹存放关联源码与头文件 对于新建如`screen.cpp`和`screen.h`这样的模块化组件,建议操作是在主`.ino`文件所在的根目录下构建一个名为该模块的名字(比如这里就是`screen`)的新文件夹,并将对应的实现文件和接口声明文件放入其中[^4]: ```plaintext Project_Folder/ |-- main.ino |-- screen/ | |-- screen.cpp | `-- screen.h ``` 接着,在`.ino`文件顶部利用相对路径指定的方式引入所需的头文件。注意这里的路径表达方式——`.`代表当前目录层次,“\”用于分隔不同级别的文件夹名称: ```c++ #include "./screen/screen.h" ``` 这种方法不仅有助于保持项目的整洁有序,而且使得代码更易于维护和理解。 #### 方法二:直接在同一级目录下放置头文件 如果只是简单地增加单个或少量几个额外的头文件而无需复杂的组织架构,可以直接把这些`.h`文件放到跟主`.ino`相同的级别位置上。之后同样要记得在程序开头处加入相应的预处理指令以便让编译器知道去哪里寻找函数原型和其他全局变量等资源: ```c++ // 假设有一个叫做utility.h的辅助工具集位于相同目录下 #include "utility.h" ``` 值得注意的是,虽然这种方式看似便捷快速,但在大型项目或者涉及多个相互依赖部件的情况下可能会显得不够灵活高效。 #### 特殊情况下的Wire库应用 针对像`wire.h`这样官方提供的标准库之一,一般不需要用户自行下载其`.h`及`.cpp`版本除非处于完全断网状态。大多数时候只需确保已连接互联网并通过IDE内置的功能完成更新即可正常使用I2C总线协议相关的特性[^3]。 不过假如确实遇到了无法联网的情况,也可以考虑提前准备好由社区分享出来的独立打包形式的库文件,将其解压至本地磁盘相应的位置从而实现在无网络条件下继续开展基于I2C通信的工作。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值