来自nmake:“引用;没有规则使目标`*.rc'&引用;

来自nmake:“引用;没有规则使目标`*.rc'&引用;,c,windows-7,resources,putty,nmake,C,Windows 7,Resources,Putty,Nmake,我正在尝试从Windows7系统的源代码构建putty托盘,putty托盘的一种变体。我需要构建它,而不仅仅是下载它,因为我需要实现一些附加功能。我使用的是NGOW和微软的C++编译器(不应该是相关的)。确切地说,我在cmd窗口中工作,在putty源代码的WINDOWS文件夹中,我正在运行命令nmake-f MAKEFILE.VC C源代码编译正确,但我遇到了一个我不理解的错误: no rule to make target `*.rc' needed by `pageant.res' 没有规则

我正在尝试从Windows7系统的源代码构建putty托盘,putty托盘的一种变体。我需要构建它,而不仅仅是下载它,因为我需要实现一些附加功能。我使用的是NGOW和微软的C++编译器(不应该是相关的)。确切地说,我在cmd窗口中工作,在putty源代码的WINDOWS文件夹中,我正在运行命令nmake-f MAKEFILE.VC

C源代码编译正确,但我遇到了一个我不理解的错误:

no rule to make target `*.rc' needed by `pageant.res' 没有规则使“pageant.res”需要目标“*.rc” 我完全理解如果它说它不能生成特定的文件意味着什么:这意味着文件丢失了。但我不明白这对外卡来说有什么意义

MAKEFILE.VC的相关部分可能是

pageant.res: *.c *.h *.rc ..\windows\pageant.rc ..\windows\rcstuff.h \ ..\windows\pageant.ico ..\windows\pageants.ico \ ..\windows\version.rc2 ..\windows\pageant.mft rc $(RCFL) -r $(RCFLAGS) ..\windows\pageant.rc pageant.res:*.c*.h*.rc..\windows\pageant.rc..\windows\rcstuff.h\ ..\windows\pageant.ico..\windows\Pagements.ico\ ..\windows\version.rc2..\windows\pageant.mft rc$(RCFL)-r$(RCFLAGS)…\windows\pageant.rc 是的,文件夹中有*.rc文件:PAGEANT.rc、PLINK.rc、PSCP.rc、PSFTP.rc、PUTTY.rc、PUTTYTEL.rc


有什么想法吗?

你考虑过用gmake代替nmake吗

makefile驱动的开放源码项目世界中的许多人都认为nmake太过局限,并在Gnu的gmake上进行了标准化,将其作为一个更好的工具。我还没有检查确定,但这有一个nmake的限制和腻子的感觉肯定是那种项目,将使用gmake


找到gmake的本机Windows版本的好地方是。查看其他可用的软件包。它们是许多熟悉和有用的Gnu工具的本机Windows版本的良好来源。它们比Cygwin这样的项目有一个优势,即它们的工具在正常的CMD提示符下工作,并且不需要安装,只需要将它们的
bin
文件夹放在您的路径中,它们漂亮的Windows安装程序就会帮您处理这些文件夹。

PuTTY自己的文档说要使用nmake,所以我怀疑这是个问题。但是谢谢你的建议。如果一切都失败了,我可以试试。(与大多数开源项目不同,PuTTY是从Windows世界开始的。)FWIW,我有Cygwin,但我从未真正研究过GnuWin32。我从未尝试从源代码构建PuTTY,但我使用过它。我忘记了油灰的历史。。。因此,如果他们说使用nmake,那么我同意这不太可能是问题所在。我已经安装了Cygwin和GnuWin32的很多东西。我倾向于将Cygwin视为最后的手段,因为使用它通常会使您在整个构建中使用它,并且通常在运行时也使用它。通常我使用MinGW的GCC,并用GnuWin32来填补空白。最终,我处理了一些不重要的事情(空格,类似的东西),并且成功了。最初的错误消息仍然让我感到困惑,但我不会为此担心。