Microbit Platformio 开发 - 'PlatformIOLibBuilder' 对象没有属性 'get_inc_dirs'

Microbit Platformio development - 'PlatformIOLibBuilder' object has no attribute 'get_inc_dirs'

我目前正在尝试通过 Atom 上的 Platformio IDE 在 C++ 上的 BBC microbit 上进行开发。

我已经让软件与其他板(我拥有的各种 NUCLEO 板)一起工作,并且 mircobit 的代码本身是简单的 "Hello World" 滚动条,可以在 mbed 在线编译器上编译得很好。

在 platformio 上编译时我得到:

Attribute Error: 'PlatformIOLibBuilder' object has no attribute 'get_inc_dirs'

我已经尝试安装 microbit University of Lancaster 库,platformio 说它们已安装,但它没有出现在我正在使用的项目的 lib 文件夹中。

在开发方面,我在设置环境和 IDE 方面是一个新手,我一直在到处寻找这方面的答案,但很难过滤掉我需要做的事情解决这个问题。虽然 microbit 是受支持的板,但没有关于如何开始使用它的指南,而且所有其他板似乎都可以在所有默认安装下正常工作。

更新:下面的解决方案也适用于 Ubuntu 和 windows,尽管当您尝试滚动文本时 LED 显示屏会出现一些乱码。然而,串行通信显示实际的microbit正在做它应该做的事情。

显示中的错误可能是因为 microbit 库是 v2.0.0-rc4,而兰卡斯特大学图书馆的最新版本似乎是 v2.0.0-rc10。

编辑: 我在 Atom 中使用 Linux Mint 和 platformio 插件。我有报告的错误。首先我使用命令行工具来更新 platoformio:

~/.platformio/penv/bin/pio update

要删除 get_dirs 错误并使我的代码能够编译:

~/.platformio/lib/nrf51-sdk/platformio_extra.py

换行:

pio_lib_builder.env.Prepend(CPPPATH=pio_lib_builder.get_inc_dirs())

至:

pio_lib_builder.env.Prepend(CPPPATH=pio_lib_builder.get_include_dirs())

我的想法来自:

https://github.com/palfrey/nrf51-sdk/pull/1/files

为了让我的编译代码加载我 运行 atom 作为 sudo:

sudo atom