编译出错 - 多半因为库有问题

2015-06-303.6万
精华项目
AI 快速预览详细 收起
本文详细解析了 Arduino IDE 编译/上传时常见的错误原因及解决方法。主要问题包括程序格式错误(如括号缺失、中英文字符混用等)、库文件加载问题(手动加载需重启IDE,自动加载无需重启)、库文件过期或不兼容(建议使用1.0.6版或替换库文件),以及设置错误(如串口选择不当)。通过这些步骤,用户可以快速定位并解决编译错误,节省大量时间。


编译出错 - 多半因为库有问题图8

编译代码,出错了,很多人会放到论坛上问~
编译,说白了,就是让计算机帮你检查有没有错误。所有的编译器如果出错,下边都会有错误代码,错误出现在哪一行,可以到编译器的help中找错误代码的意思。不过,话说回来,太麻烦了,国人懒得查,一般差不多能看到报错的原因,都是直接到代码里看。

目前遇到的Arduino IDE 编译/上传 出错原因总结如下

欢迎追评:
编译出错 - 多半因为库有问题图9

1 程序书写格式/语法有误
1.1 ();{};括号少了,多了;
     尤其是嵌套比较多的,IDE 不支持代码段突出显示,建议使用 notepad++ 看代码,比较方便。


编译出错 - 多半因为库有问题图2

1.2 中英文字符;
      IDE内不支持中文输入,但有的人直接从其他地方粘贴到窗口里,就可能造成这样的原因。只要将中文字符,改为英文字符即可。

1.3 语法错误;
      包括 结构错误,关键词写错等。

2 库文件

2.1 库文件没有加载       库文件主要指.cpp & .h两个文件,一般放在C:\Users\***\Documents\Arduino\libraries文件夹下。分为手动加载(需重启IDE)和 IDE自动加载(无需重启),具体方法请点击

       比如,我把我电脑中C:\Users\***\Documents\Arduino\libraries下的两个文件删掉,我打开样例程序,由于没有库文件,就会编译出错:


编译出错 - 多半因为库有问题图3

        我再将两个文件复原:

编译出错 - 多半因为库有问题图4

        关闭IDE, 再次打开样例进行编译,就可以编译成功:

编译出错 - 多半因为库有问题图5


2.2 库文件过期

       也有库文件过期或者创建者虽然用了相同的文件名,但库文件中的变量定义/功能函数有所差异,导致编译出错。比如:红外的库,SD卡读写模块的库等(点击下载)。这时,可以借用古今中海内外的网上开源社区的资源,Github是一个不错的去处,无需注册,免费下载。

2.3 IDE版本更新导致SPI库不兼容

编译出错 - 多半因为库有问题图6


        由于IDE版本更新,造成SPI库不能与早期产品兼容。最简单的方法是下载安装1.0.6版。  或者有强迫症患者,可以找到1.0.6版的安装目录中的spi库,复制     到1.6.*的安装目录中,进行替换,方可成事。

3 设置错误

上传程序前,一定要保证USB线连接有效,板子上的电源指示灯点亮。并且选好IDE软件的 版型 串口号

编译出错 - 多半因为库有问题图1

       如果仍然下载不成功,可以尝试:
                1 串口是否被占用,即检查板子的0 1脚(tx rx)上是不是接有线 (Leonardo 不存在此问题) ;
                2 换一个USB口试试
                3 重启IDE+重新插拔USB
                4 在其他电脑上试试(纯净版系统)
       如果确定是产品问题,赶快找DFrobot麻烦,不然这帮技术支持闲的蛋疼。
编译出错 - 多半因为库有问题图10

PS:对于 IDE 下载速度过慢,可以将百度杀毒,360杀毒等杀毒软件暂时关闭退出(建议卸载,用Window官方杀毒软件)。


欢迎追评打补丁,祝君睡好!

编译出错 - 多半因为库有问题图7


创作许可协议

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

评论(7)
三春牛-创客
三春牛-创客
学习了,感谢分享!
三春牛-创客
三春牛-创客
厉害厉害
花生编程
花生编程
赞赞赞赞赞
花生编程
花生编程
不错不错
jfMTScEaoh0s
jfMTScEaoh0s
很不错的错误指南
Cain
Cain
已收藏!
touchfree
touchfree
作者
回复Cain
以后再碰到类似的 就可以直接丢炸弹了
hnyzcj
hnyzcj
好详细的先收了。
touchfree
touchfree
作者
回复hnyzcj
O(∩_∩)O谢谢!
- 没有更多了 -