在Cygwin中使用文件名中的空格

时间:2016-06-23 19:07:28

标签: c makefile cygwin avr-gcc

我觉得这可能是一个简单的问题,但我整天都被困在了它身上。我正在使用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'使用它,这就是为什么我这么困惑

1 个答案:

答案 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