我觉得这可能是一个简单的问题,但我整天都被困在了它身上。我正在使用Cygwin和WinAVR来编译arduino库中的一些文件。我想使用makefile,但我在文件名中有空格问题(至少我认为就是这样)。我做了一个绕过它的链接,但这也不起作用!关于文件名中的空格已经有一些SO问题,但它们都没有帮助我。
我的makefile:
#ARDUINO_PATH=/cygdrive/c/Program\ Files\ \(x86\)/Arduino/hardware/arduino/avr/cores/arduino
ARDUINO_PATH=./link_to_arduino_dir
SRC=$(wildcard $(ARDUINO_PATH)/*.c)
all: echo $(SRC)
$(SRC):
avr-gcc -Os -DF_CPU=16000000UL -mmcu=atmega328p -I $(ARDUINO_PATH) -c -o . $@
echo:
echo $(SRC)
在通配符之后,$ SRC为空。运行这个makefile只会有一个空的" echo"然后回来。
修改
链接是使用
创建的 ln -s /cygdrive/c/Program\ Files\ \(x86\)/Arduino/hardware/arduino/avr/cores/arduino link_to_arduino_dir
简单的命令,如' ls'使用它,这就是为什么我这么困惑
答案 0 :(得分:1)
使用DOS名称(8.3)的旧Windows技巧怎么样?
而不是/c/Program\ Files\ \(x86\)/
使用/c/Progra~2/
。
注意:在64位Windows上Progra~1
将指向“Program Files”,Progra~2
将指向“Program Files(x86)”。如果您在32位系统上运行,请使用Progra~1
。