Netbeans 无法生成:没有用于生成目标的规则

Netbeans 无法生成:没有用于生成目标的规则,netbeans,makefile,cygwin,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 nbpr

我正在尝试将一个工作项目从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等效路径”只相差一个“/”和一个“\”?

首先,您不应该使用包含make空格的路径名。Make根本不支持这种方式。重命名目录
定时器DAC代码
,使其不包含空格

第二,这里的反斜杠应该是从括号中转义出来的,所以忽略这个警告。Cygwin假设您打算将它们用作目录分隔符,但您没有这样做

我对Cygwin port of make不太熟悉,但我认为反斜杠的解释不正确。就我个人而言,如果我是你,我会重命名这些文件,这样它们就不会包含任何特殊字符,比如括号

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

我假设奇怪的拼写
DaqInTesting
,而不是
DaqInTesting
,是故意的


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

首先,不要使用包含make空格的路径名。Make根本不支持这种方式。重命名目录
定时器DAC代码
,使其不包含空格

第二,这里的反斜杠应该是从括号中转义出来的,所以忽略这个警告。Cygwin假设您打算将它们用作目录分隔符,但您没有这样做

我对Cygwin port of make不太熟悉,但我认为反斜杠的解释不正确。就我个人而言,如果我是你,我会重命名这些文件,这样它们就不会包含任何特殊字符,比如括号

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

我假设奇怪的拼写
DaqInTesting
,而不是
DaqInTesting
,是故意的


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

是的,MS-DOS在路径中使用反斜杠,这可能会导致Make出现问题。路径中出现括号也是不祥的,特别是因为前面有反斜杠;它看起来像是从正则表达式中逃逸出来的东西。
/cygdrive/D/timer DAC code/EOGTester/daqintesting/
中有什么?Hi Beta,没有daqintesting文件夹,但有一个.c文件。是的,MS-DOS在路径中使用反斜杠,这可能会导致Make中出现问题。路径中出现括号也是不祥的,特别是因为前面有反斜杠;它看起来像是从正则表达式中逃逸出来的东西。
/cygdrive/D/timer DAC code/EOGTester/DaqInTesteing/
中有什么?Hi-Beta,没有DaqInTesteing文件夹,但是有一个.c文件Hi-MadSci,在那里我必须>将DaqInTesteing(New)Out.c的实例更改为“DaqInTesteing(New)Out.c”<?在makefile中?代码的所有者说他只是使用生成的makefile,所以我也没有碰makefile,里面什么都没有:当然。makefile是所有进行读取的文件;没有什么比这更有趣的了。再次查看makefile的底部;它说:
包括nbproject/Makefile impl.mk
包括nbproject/Makefile variables.mk
。看看那些文件。可能是后者。我两个都签了,但没有一个有“Daqintesting\(New\)Out.c”。但是,在Make-Release.mk中有,我更改了它。然而,在构建时,它说:一些#include或#error指令失败,然后Make-Release.mk被自动修改回来。基本上,我所做的就是使用他的.c和.h文件并添加一些库。。。makefile可以使用奇怪的文件名(至少在UNIX上是这样),而不是包含空格的文件名,但是它需要非常熟悉shell引用规则才能尝试。此外,我不知道Cygwin在这方面与UNIX有什么不同。更简单的方法是避免它们。嗨,MadSci,我应该在哪里>将Daqintesting(New)Out.c的实例更改为'Daqintesting(New)Out.c'<?在makefile中?代码的所有者说他只是使用生成的makefile,所以我也没有碰makefile,里面什么都没有:当然。makefile是所有进行读取的文件;没有什么比这更有趣的了。再次查看makefile的底部;它说:
包括nbproject/Makefile impl.mk
包括nbproject/Makefile variables.mk
。看看那些文件。可能是后者。我两个都签了,但没有一个有“Daqintesting\(New\)Out.c”。但是,在Make-Release.mk中有,我更改了它。然而,在构建时,它说:一些#include或#error指令失败,然后Make-Release.mk被自动修改回来。基本上,我所做的就是使用他的.c和.h文件并添加一些库。。。makefile允许AutoGenerateEdit使用奇怪的文件名(至少在UNIX上),而不是包含空格的文件名,但它需要