You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NMake编译树莓派Pico程序时报.PHONY未定义错误如何解决

报错核心原因

你使用微软NMake工具执行CMake为GNU Make生成的Makefile,二者语法规范不兼容。NMake原生不支持GNU Make的.PHONY、.NOTPARALLEL等特殊目标语法,手动删除所有.PHONY引用无法解决问题:CMake每次重新生成项目时都会自动写入这些内容,且除此之外还有大量GNU Make专属语法NMake无法识别,修改成本极高且毫无意义。

解决方案

  • 清空项目中已有的build目录,删除所有旧的临时编译文件
  • 选择Pico工具链支持的CMake生成器:
    树莓派Pico官方工具链搭配GNU Arm嵌入式编译器,支持MinGW Makefiles和Ninja两种生成器,二选一即可:
    1. 命令行编译场景:进入空的build目录后,指定生成器执行CMake配置
      • 选择MinGW Makefiles:执行命令 cmake -G "MinGW Makefiles" ..
      • 选择Ninja:执行命令 cmake -G "Ninja" ..
    2. VSCode CMake Tools插件场景:按Ctrl+Shift+P调出命令面板,选择「CMake: Select a Generator」,在列表中选中MinGW Makefiles或Ninja,不要选择任何带NMake的生成器
  • 执行对应编译命令:
    • 使用MinGW Makefiles生成器:执行 mingw32-make 完成编译
    • 使用Ninja生成器:执行 ninja 完成编译

编译完成后会生成.uf2格式固件,拷贝到树莓派Pico挂载的U盘即可运行验证。

内容的提问来源于stack exchange,提问作者deathwillcome800

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 12:06:01