touchfree 发表于 2015-6-30 13:41:38

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

本帖最后由 touchfree 于 2015-7-2 10:22 编辑



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

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


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


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

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

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

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



      我再将两个文件复原:

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



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

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



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

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


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


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


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




hnyzcj 发表于 2015-6-30 19:02:09

好详细的先收了。

touchfree 发表于 2015-7-2 10:12:53

hnyzcj 发表于 2015-6-30 19:02
好详细的先收了。

O(∩_∩)O谢谢!

Cain 发表于 2015-7-3 18:03:56

已收藏!

touchfree 发表于 2015-7-6 11:01:23

Cain 发表于 2015-7-3 18:03
已收藏!

以后再碰到类似的 就可以直接丢炸弹了

jfMTScEaoh0s 发表于 2021-12-20 20:29:53

很不错的错误指南

花生编程 发表于 2023-8-16 14:20:05

不错不错

花生编程 发表于 2023-8-16 14:22:15

赞赞赞赞赞

三春牛-创客 发表于 2023-8-17 11:59:58

厉害厉害

三春牛-创客 发表于 2023-8-17 12:02:34

学习了,感谢分享!
页: [1]
查看完整版本: 编译出错 - 多半因为库有问题