我已经安装了mingw-gcc:GNU 编译器集合使用设置西格文。运行“make install”命令时:
$ make install
我收到这条消息:
make: `install' is up to date.
可能是什么原因?我该如何解决这个问题?
谢谢!
答案1
Windows 通过扩展名确定哪些文件可执行。本机可执行文件必须具有扩展名.exe
. Cygwin 包含一些魔力,因此当您引用一个文件install
并且不存在该名称的文件时,它会尝试install.exe
.即使在与执行无关的上下文中,它也会执行此操作,因为当程序查找文件的元数据时,库无法知道程序是否打算稍后执行它。
install.exe
因此,如果当前目录中有一个被调用的文件,make
看到它并认为它是规则的目标install
。如果install.exe
比规则的先决条件更新install
,则make
确定(从其角度来看是正确的)没有什么可做的。
您可以将该行添加.PHONY: install
到 makefile 中。这告诉 makeinstall
目标不是真正的文件,并且 make 将忽略该名称的任何文件。
或者,重命名或移开install.exe
。
答案2
通常这意味着您已经这样做了make install
,不需要再做一次。
如果您认为确实应该重做构建,请尝试以下操作:
make clean
make
make install
警告:那将是传统的方法,但项目的作者可能有其他想法。