Ошибка компоновщика Platformio при включении ‹functional›

Я использую PlatformIO (с расширением VS Code) в Windows 10 и компилирую для платы Teensy 3.5.

Я свел ошибку компоновщика в одном из своих проектов к следующему фрагменту кода:

#include <Arduino.h>
#include <functional>

void setup()
{
   // Serial.println();
  std::function<void()> func;
  func();
}

void loop() {}

Когда я пытаюсь скомпилировать и связать это, он компилируется нормально, но не удается связать. Если я раскомментирую Serial.println (), он свяжется и компилируется.

Я использую следующие настройки в файле platformio.ini:

[env:teensy35]
platform = teensy
board = teensy35
framework = arduino

Ошибка, которую он выдает, когда не удается установить ссылку:

c: /users/zackh/.platformio/packages/toolchain-gccarmnoneeabi/bin /../ lib / gcc / arm-none-eabi / 5.4.1 /../../../../ arm-none -eabi / lib / armv7e-m / fpu \ libc.a (lib_a-writer.o): в функции _write_r': writer.c:(.text._write_r+0x12): undefined reference to_write 'collect2.exe: ошибка: ld вернул 1 статус выхода

Есть идеи, что здесь происходит?


person Zack    schedule 21.04.2019    source источник


Ответы (1)


Решение, которое я нашел, заключалось в том, чтобы включить следующую строку в проект platformio.ini.

build_flags = -llibc -lc
person Zack    schedule 21.04.2019