2015-6-10 18:54:11 [显示全部楼层]
12637浏览
查看: 12637|回复: 0

[常见问题] 旧版 库文件 WProgram.h 编译失败 解决方法教程

[复制链接]
本帖最后由 Cain 于 2015-6-10 18:56 编辑

相信很多人已经知道这事了,这次发帖也是老生常谈。但因为今天搜索了一下发觉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








高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail