无法建立:没有规则来制定目标

时间:2013-10-17 22:20:00

标签: netbeans makefile cygwin

我正在尝试将一个正在运行的项目从visual c转移到我刚刚安装的netbeans。 但是,它没有建立。以下是信息。

    "/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory '/cygdrive/c/Users/sam/Documents/NetBeansProjects/timerDAC'
"/usr/bin/make"  -f nbproject/Makefile-Debug.mk dist/Debug/Cygwin_4.x-Windows/timerdac.exe
make[2]: Entering directory '/cygdrive/c/Users/sam/Documents/NetBeansProjects/timerDAC'



cygwin warning:
      MS-DOS style path detected: /cygdrive/D/timer DAC code/EOGTester/DaqInTesteing\(New\)Out.c
      Preferred POSIX equivalent is: /cygdrive/D/timer DAC code/EOGTester/DaqInTesteing/(New/)Out.c
      CYGWIN environment variable option "nodosfilewarning" turns off this warning.
      Consult the user's guide for more details about POSIX paths:
        http://cygwin.com/cygwin-ug-net/using.html#using-pathnames


make[2]: *** No rule to make target '/cygdrive/D/timer DAC code/EOGTester/DaqInTesteing\(New\)Out.c', needed by 'build/Debug/Cygwin_4.x-Windows/_ext/1013452424/DaqInTesteing_New_Out.o'.  Stop.
make[2]: Leaving directory '/cygdrive/c/Users/sam/Documents/NetBeansProjects/timerDAC'
nbproject/Makefile-Debug.mk:60: recipe for target '.build-conf' failed
make[1]: *** [.build-conf] Error 2
make[1]: Leaving directory '/cygdrive/c/Users/sam/Documents/NetBeansProjects/timerDAC'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
make: *** [.build-impl] Error 2


BUILD FAILED (exit value 2, total time: 1s)

我读到了

  

没有规则来制作目标

错误通常是由于拼写错误造成的。但是,这是我正在导入的其他人的项目,我必须弄清楚如何找到拼写错误的位置?

此外,cygwin警告是神秘的,其中“检测到MS-DOS样式路径”和“首选POSIX等效”只有“/”和“\”不同?

1 个答案:

答案 0 :(得分:1)

首先,您不应该使用包含带空格的空格的路径名。简单地说,不支持任何实际的方式。重命名目录timer DAC code,使其不包含空格。

其次,这里的反斜杠是支持逃避括号,所以忽略该警告。 Cygwin假设您打算将它们用作目录分隔符,但事实并非如此。

我不熟悉make的Cygwin端口,但我相信反斜杠没有被正确解释。就个人而言,如果我是你,我会重命名这些文件,因此它们根本不包含任何特殊字符,例如括号。

如果你不能这样做,那么你应该切换到引用来逃避它们,而不是反斜杠。因此,将DaqInTesteing\(New\)Out.c的实例更改为'DaqInTesteing(New)Out.c'(使用单词引号而不是反斜杠来引用特殊字符)。

我假设奇怪的拼写DaqInTesteing而不是DaqInTesting是有意的。

如果这些事情没有帮助,我们需要查看负责构建这些目标的makefile部分。