Я пытаюсь скомпилировать библиотеку Arduino, которую пишу под Eclipse . Это базовый эскиз sx.cpp
, который я использую, он компилируется с использованием стандартной Arduino IDE 1.8.0 :
#include <Arduino.h>
#include <vector>
void setup() {
}
void loop() {
std::vector<byte> a(0x22);
}
Это компилятор:
Building sx
"C:/Users/Ale/Documents/Arduino/packages/arduino/tools/avr-gcc/4.9.2-atmel3.5.4-arduino2/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10608 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -I"C:/Users/Ale/Documents/Arduino/packages/arduino/hardware/avr/1.6.21/cores/arduino" -I"C:/Users/Ale/Documents/Arduino/packages/arduino/hardware/avr/1.6.21/variants/standard" "../../sx.cpp" -o "project/sx.cpp.o"
../../sx.cpp:3:18: fatal error: vector: No such file or directory
#include <vector>
^
compilation terminated.
make: *** [project/sx.cpp.o] Error 1
makefile:67: recipe for target 'project/sx.cpp.o' failed
Я использую Eclipse 4.8.0 и характер проекта Arduino (основной компилятор CDT), но я не заинтересован в загрузке на реальные платы и / или отладке. Без vector a
и соответствующих #, включая , конечно, он компилируется.
(РЕДАКТИРОВАТЬ) Более длинная история:
Я пишу эту библиотеку около 5 дней с текстовыми редакторами. Я пришел из разработки Java, поэтому, пожалуйста, будьте терпеливы. Моя библиотека использует некоторые стандартные классы c ++, std :: vector и пару других. Все было в порядке, используя Arduino IDE, но через 5 дней это было непрактично для меня, поэтому я решил повторить попытку Arduino с Eclipse через 5 лет (мой первый опыт eclipse-cdt был ужасным и сложным). В новой версии Photon я заметил шаблонный проект Arduino, а менеджер lib Arduino включил «из коробки», поэтому я решил попробовать.
Я на самом деле использую плату ESP32, но опять же, я не заинтересован в загрузке / выполнении кода. Мне просто нужно уметь провести его рефакторинг