代码之家  ›  专栏  ›  技术社区  ›  falcoso

Microbit Platformio开发-“PlatformIOLibBuilder”对象没有属性“get\u inc\u dirs”

  •  1
  • falcoso  · 技术社区  · 6 年前

    我目前正在尝试通过Atom上的平台化IDE在c++上开发BBC微博客。

    我已经让软件与其他板(我拥有的各种核子板)一起工作,mircobit的代码本身就是一个简单的“Hello World”滚动器,可以在mbed在线编译器上很好地编译。

    在platformio上编译时,我得到:

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

    我试过安装兰卡斯特大学的microbit库,platformio说已经安装了,但它没有出现在我正在使用的项目的lib文件夹中。

    当谈到开发时,我在设置环境和IDE方面是一个新手,我一直在到处寻找这个问题的答案,但很难筛选出我需要做什么来解决这个问题。虽然microbit是一个受支持的板,但没有关于如何开始使用它的指南,其他板似乎都可以很好地使用所有默认安装。

    更新:下面的解决方案也适用于Ubuntu和windows,但当你尝试滚动文本时,LED显示会有点混乱。然而,串行通信表明实际的microbit正在做它应该做的事情。

    显示中的错误可能是由于microbit库是v2.0.0-rc4,而兰开斯特大学库的最新版本似乎是v2.0.0-rc10。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Oppy    6 年前

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

    ~/.platformio/penv/bin/pio update
    

    要删除get\u 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
    

    要加载编译后的代码,我以sudo的身份运行atom:

    sudo atom