资讯动态

用 aily-builder 编译你的第一个 Arduino 项目:compile 命令 10 个实用选项详解

发布时间:2026/10/7 3:37:04 来源:尧图企业网站定制
用 aily-builder 编译你的第一个 Arduino 项目compile 命令 10 个实用选项详解【免费下载链接】aily-builderFaster Arduino compilation CLI. Arduino快速编译工具小项目提速50%大项目提速80%! 时间就是金钱我的朋友!项目地址: https://gitcode.com/gh_mirrors/ai/aily-builderaily-builder 是一款Arduino 快速编译 CLI 工具借助 Ninja 并行构建与智能缓存机制小项目编译提速 50%大项目提速 80%。本文将带你用compile命令完成第一个 Arduino 项目编译并详解 10 个最实用的命令行选项——从指定开发板、并行编译到自定义宏一篇搞定。一分钟安装准备好 aily-builder确保已安装 Node.js 18 及以上版本然后一行命令全局安装npm install -g aily-builder aily-builder --help安装成功后compile、preprocess、upload、cache四个子命令即可使用。整个 CLI 的入口位于 main.ts编译核心逻辑在 src/ArduinoCompiler.ts。第一步最简单的编译命令把下面的文件保存为sketch.ino然后执行void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(500); digitalWrite(13, LOW); delay(500); }aily-builder compile sketch.ino就这么简单。默认目标开发板为arduino:avr:uno编译完成后会输出固件路径如.hex/.elf文件以及预处理、构建、总耗时三段统计。构建产物默认存放在系统本地目录下Windows 为%LOCALAPPDATA%\aily-builder\project\macOS 为~/Library/aily-builder/project/并自动启用增量构建——下次只编译你修改过的文件。10 个实用选项详解以下选项定义在 main.ts 的compile命令中按使用频率从高到低排列。1️⃣-b, --board指定目标开发板不写这个选项时默认编译 Uno换板子时它必不可少aily-builder compile sketch.ino -b esp32:esp32:esp32板子标识格式为厂商:架构:型号与 Arduino IDE 中工具菜单选择的板子一一对应见 main.ts。2️⃣-j, --jobs调整并行编译任务数aily-builder 基于 Ninja 构建系统并行编译默认 4 个并行任务。CPU 核心多时调大它大项目收益最明显aily-builder compile sketch.ino --jobs 83️⃣--build-path指定构建输出目录默认构建目录按项目名 路径哈希自动生成方便多项目互不冲突。想在项目内集中管理产物时aily-builder compile sketch.ino --build-path ./build相关路径计算逻辑见 main.ts。4️⃣--libraries-path添加外部库路径库不在 Arduino 默认目录把额外目录告诉它即可可多次使用以追加多个路径aily-builder compile sketch.ino \ --libraries-path C:\Arduino\libraries \ --libraries-path ./my-libs多个路径在 Windows 上用分号、在 Unix 上用冒号自动合并main.ts。5️⃣--build-macros定义自定义宏给固件加版本号、开关调试模式不需要改代码aily-builder compile sketch.ino --build-macros DEBUG --build-macros VERSION1.0.0配合#ifdef DEBUG即可输出调试信息代码保持干净。6️⃣--build-property添加构建属性向平台配置注入额外的keyvalue构建属性同样可多次使用aily-builder compile sketch.ino --build-property spm_clock800000007️⃣--board-options微调开发板菜单选项对应 Arduino IDE 中工具菜单下的细分选项如 ESP32 的 Flash 大小、上传方式aily-builder compile sketch.ino -b esp32:esp32:esp32 \ --board-options flash_size4MB --board-options upload_methoddefault选项解析后的值会合并进构建属性main.ts。8️⃣--tool-versions锁定工具链版本团队协作或多项目共存时固定编译器版本可保证构建一致性aily-builder compile sketch.ino --tool-versions arduino.toolchain-avr-gcc1.2.4格式为工具名版本多个用英文逗号分隔。9️⃣--preprocess-result复用预处理结果跳过预处理aily-builder 支持预处理与编译分离先用preprocess命令做一次依赖分析和配置生成之后反复编译都跳过这一阶段——这是 CI/CD 场景下提速的关键。# 第一次预处理并保存结果 aily-builder preprocess sketch.ino -b arduino:avr:uno --save-result ./preprocess.json # 之后直接复用秒进编译 aily-builder compile sketch.ino --preprocess-result ./preprocess.json预处理阶段包含依赖分析src/DependencyAnalyzer.ts、配置生成src/CompileConfigManager.ts等 7 个步骤复用结果时可完全跳过。--verbose开启详细输出排错编译失败却找不到原因加上它查看每一步的详细日志aily-builder compile sketch.ino --verbose需要留档排查时再追加--log-file日志会写入构建目录下的aily-builder.logmain.ts。速查表compile 命令选项一览选项作用默认值-b, --board目标开发板arduino:avr:uno-j, --jobs并行编译任务数4--build-path构建输出目录系统默认--libraries-path附加库路径可多次—--build-macros自定义宏定义可多次—--build-property附加构建属性可多次—--board-options开发板菜单选项—--tool-versions锁定工具链版本—--preprocess-result复用预处理结果—--verbose详细输出关闭完整选项说明可参考 README-ZH.md。实战组合一条命令编译出调试版 ESP32 固件把前面学的选项组合起来就是一个典型的完整命令aily-builder compile sketch.ino \ -b esp32:esp32:esp32 \ --board-options flash_size4MB \ --libraries-path ./libraries \ --build-macros DEBUG --build-macros APP_VERSION2.1.0 \ --jobs 8 --verbose编译成功后用upload子命令即可烧录到开发板aily-builder upload -p COM3 -f firmware.hex -b esp32:esp32:esp32小贴士让编译越来越快缓存管理aily-builder cache stats查看缓存占用cache clear --unused-30清理 30 天未用的缓存增量构建未修改的文件不会重复编译改一行代码也能秒级出结果云端缓存团队环境可通过--archive-cloud-cache系列选项共享编译产物实现由 src/ArchiveCloudCacheManager.ts 负责。至此你已经掌握了 aily-builder 的 compile 命令核心用法。从第一次编译到 CI/CD 流水线这条命令行都能让 Arduino 编译快人一步。【免费下载链接】aily-builderFaster Arduino compilation CLI. Arduino快速编译工具小项目提速50%大项目提速80%! 时间就是金钱我的朋友!项目地址: https://gitcode.com/gh_mirrors/ai/aily-builder创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑