这个问题之前就遇到过,最近接触的一个项目又遇到这个问题了,想和大家分享一下
列举一个我的小项目,主要就是通过点灯科技的库来和手机小爱同学进行联动,如果有热爱于电子没玩过的可以玩一下
目前我用的是VScode中的PlatformIO来编译esp8266,在arduino中编译没有问题并且可以下载
但是我复制到PlatformIO却会报错
报错的内容一大堆,对于一些刚刚从arduino转到PlatformIO属实不太友好,其实仔细看一下之后会发现,错误的地方只有一处(红色的为错误,黄色的是警告),意思大概为没有找到这个函数(没有定义)
按住ctrl再用鼠标点击错误的路径跳转到错误的地方,再右键点击跳转到定义发现这个函数在名为Hash.cpp文件中包含了
这应该说明是这个.cpp文件没有被项目所应用,但是这个函数和这个文件确实存在,所以下一步就是吧这个函数应用到项目中就没问题了,这里我查找PlatformIO官方文档后发现这个这样一个函数可以将文件包含(添加到PlatformIO.ini图中最后一句话),这句话意思大概就是将该项目文件包含在一整个项目中,这样项目在编译的时候就会把这个文件包含,就会包含之前缺失的.cpp文件
点击编译后,出现SUCCESS表示编译通过
总结:在我当时打算将arduino开发环境转到VScode的时候花了很长时间去配置PlatformIO(期间走了很多弯路),比如安装点灯科技中的类库时我发现PlatformIO上面直接下载的库和arduino中下载的库不一致,后面花了很长时间去配置(当时刚开始学所以很多地方不明白),今天分享的这个问题,我在网上没有搜索到非常具体的过程,在这我把解决过程分享一下。
第一次写博客,文中如有不严谨之处可以向我提出,大家一起相互学习
标签:导入到,文件,PlatformIO,arduino,VScode,编译,报错 From: https://www.cnblogs.com/Xelectron/p/16821207.html