Makefile arduino uno“ make:***没有规则来创建目标`sketch.hex',而all则需要。”

问题描述 投票:1回答:3

我正在尝试编写一个makefile以在CLI中编译我的示例arduino程序。我正在使用默认的基本makefile here,而扩展它的makefile看起来像这样。

ARDUINO_DIR = /usr/share/arduino
BOARD_TAG = uno
ARDUINO_PORT = /dev/ttyACM0
ARDUINO_LIBS = 
include /usr/share/arduino/Arduino.mk

这是我运行make时发生的事情。

$ make
cat build-uno/sketch.d > build-uno/depends.mk
make: *** No rule to make target `sketch.hex', needed by `all'.  Stop.

我也在makefile中尝试过这种事情(在谷歌搜索时在网上看到它)

$(TARGET_HEX): bin/$(TARGET)

但是结果是这样

make: *** No rule to make target `bin/My', needed by `build-uno/My'.  Stop.

编辑它可以处理出色的文字,对我来说足够了。我只是讨厌默认的IDE。

makefile arduino
3个回答
0
投票

尽管我没有得到我最初希望的东西,但是我得到了一个对我来说效果很好的解决方案(因为我只是不想使用原始的IDE)。我只是通过[plugin)就可以处理精美的文字。

对于特别希望通过CLI方式进行编译的人,我建议您使用此插件,然后查看设置文件并将其复制到您的项目中。该项目的git repo是here


0
投票

您是从头开始编写自己的Makefile吗?


0
投票

这是由较小的引起的,但在Arduino-Makefile中,如果您的arduino草图文件名中有任何空格,或者在通往arduino草图的路径中有anywhere

© www.soinside.com 2019 - 2024. All rights reserved.