arduino - 使用 Eclipse Photon CDT Core Builder 编译 avr c++ lib
问题描述
我正在尝试编译我在Eclipse下编写的 Arduino lib 。这是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
相关的#include,它当然可以编译。
(编辑)更长的故事:
我用文本编辑器写这个库已经 5 天了。我来自Java开发,所以请耐心等待。我的 lib 使用了一些 c++ 标准类,std::vector 等等。使用 Arduino IDE 一切正常,但 5 天后它对我来说是不切实际的,所以我决定在 5 年后用 Eclipse 重新尝试 Arduino(我的第一次 eclipse-cdt 体验既糟糕又复杂)。在最新的 Photon 版本中,我注意到“Arduino”模板项目和 Arduino 库管理器包括“开箱即用”,所以我决定试一试。
我实际上使用的是 ESP32 板,但同样,我对上传/执行代码不感兴趣。我只需要能够轻松地重构它
解决方案
推荐阅读
- html - 在具有不同数字的新 div 上应用 css 类
- c# - 在运行时访问对象数组 - System.NullReferenceException
- java - 黄瓜 AmbiguousStepDefinitionsException
- html - 我的代码中有可在 FF 中使用但在 Chrome 中不可用的锚点
- excel - Excel:如果另一列有重复,则只计算一次
- regex - 使用 re.sub 清理嵌套列表
- charts - 如何以编程方式将 Google 表格中的图表作为图像获取
- assembly - 在 V8 中为 x64 生成 cmp 和 cmov 指令
- javascript - reactJS 应用程序 string.replace 未定义
- powershell - 删除本地帐户仅删除 Powershell 中的一半