Atom中PlatformIO开发BBC micro:bit报错:'PlatformIOLibBuilder'无'get_inc_dirs'属性
AttributeError: 'PlatformIOLibBuilder' object has no attribute 'get_inc_dirs'错误 我之前也碰到过类似的坑,结合你说的情况——NUCLEO板正常跑、mbed在线编译没问题,这大概率是PlatformIO的库兼容性或者环境配置的锅,给你几个亲测有效的解决方向:
检查并更新PlatformIO核心与micro:bit开发包
这个错误多半是PlatformIO核心版本和micro:bit的开发框架版本不匹配导致的。先试试更新PlatformIO核心:在PlatformIO终端里执行pio upgrade,然后打开PlatformIO Home进入「Platforms」页面,找到「BBC micro:bit」平台,点击「Update」按钮升级到最新版本。替换为PlatformIO官方兼容的microbit库
兰卡斯特大学的microbit库可能和当前PlatformIO的构建系统不兼容。你可以先移除已安装的兰卡斯特库,然后在项目的platformio.ini里添加官方兼容的库依赖:lib_deps = microbit,之后重新编译。如果还是有问题,也可以指定具体的兼容版本,比如lib_deps = microbit@1.0.1(版本号可以参考PlatformIO库页面的兼容信息调整)。确保platformio.ini配置正确
你的项目配置文件要和micro:bit的环境匹配,比如这样设置:[env:bbc-microbit] platform = nordicnrf51 board = bbc-microbit framework = mbed lib_deps = microbit重点是
framework要设为mbed,这和你在mbed在线编译器的环境一致,能减少兼容性问题。清理缓存文件重新构建
有时候缓存文件会引发奇怪的构建错误。你可以手动删除项目下的.pio文件夹,以及用户目录下.platformio/.cache这个全局缓存目录,然后重新执行编译,让PlatformIO从头生成所有构建文件。
内容的提问来源于stack exchange,提问作者falcoso

