旧版 库文件 WProgram.h 编译失败 解决方法教程

2015-06-101.6万
AI 快速预览详细 收起
本文介绍了如何解决 Arduino 编译时 WProgram.h 库文件缺失的问题。通过将 #include "WProgram.h" 改为 #include "Arduino.h",可以解决编译失败的问题。此外,还提供了一个条件判断代码段,根据 Arduino IDE 的版本自动选择合适的库文件。这些方法能够帮助用户快速解决问题,避免自行排查的时间成本。


相信很多人已经知道这事了,这次发帖也是老生常谈。但因为今天搜索了一下发觉DF论坛没办法直接搜到。。。

这次的现象同样是编译不成功,但却在报错信息中提到了一个并不在源程序中的库Wprogram.h
旧版 库文件 WProgram.h 编译失败 解决方法教程图1

这是什么东西呢?说简单点就是所有Arduino基本函数以及关键字所在的库,像digitalWrite啊、pinMode啊、OUTPUT啊。
但为啥这么重要的库会没有?其实不是没有了,而是Arduino从0.0.x进化到1.0.x时把整个文件换了个包装,起了个更符合的名字Arduino.h。
所以要解决起来也很容易:

一,换旧版本IDE(不推荐)

二,修改库文件!是的,又是修改库文件。打开库文件(首先是.CPP文件),你会看到在文件开头就会include一些库。  
旧版 库文件 WProgram.h 编译失败 解决方法教程图2
我们要做的修改很简单,



#include "WProgram.h" 改成 #include "Arduino.h",保存之后就可以正常编译了。(有时在库的.h文件内也会有这语句,也需要做修改)


另外还有一个方法,是写入以下这段代码代替      
#include "WProgram.h"
#if ARDUINO >= 100  

#include "Arduino.h"
#else
#include "WProgram.h"
#endif

这段代码的意思是检查arduinoIDE的版本,如果大于等于1.0.0则使用Arduino.h库,如果小于则使用Wprogram.h








创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -