Path Cygwin make can';找不到cygwin命令

Path Cygwin make can';找不到cygwin命令,path,makefile,cygwin,Path,Makefile,Cygwin,在尝试安装构建服务器时,我遇到了一个有趣的问题,即所有cygwin命令都可以从DOS框中运行,但有时从make调用时不起作用。更奇怪的是,有些人制定目标,比如“干净”,工作,而另一些人,比如“所有人”,不这样做 下面是一个具有代表性的makefile摘录。引用已经对格式进行了调整,但是选项卡应该在哪里,相信我: .PHONY: all all: update_autoconstants /usr/bin/rm -f $(OBJ_DIR)/myfile1.txt rm

在尝试安装构建服务器时,我遇到了一个有趣的问题,即所有cygwin命令都可以从DOS框中运行,但有时从make调用时不起作用。更奇怪的是,有些人制定目标,比如“干净”,工作,而另一些人,比如“所有人”,不这样做

下面是一个具有代表性的makefile摘录。引用已经对格式进行了调整,但是选项卡应该在哪里,相信我:

 .PHONY: all 
 all: update_autoconstants
    /usr/bin/rm -f $(OBJ_DIR)/myfile1.txt   
    rm -f  $(OBJ_DIR)/myfile2.txt   

 .PHONY: clean 
 clean:     
    rm -f $(OBJ_DIR)/*.*
请注意,在“all”中,一个rm调用具有完整路径,另一个没有路径。还要注意clean的rm调用没有路径

对此,“make-C makefile all”的响应为:

/usr/bin/rm -f ../../obj/myfile1.txt 
rm -f ../../obj/myfile2.txt 
make: rm: Command not found 
make: *** [all] Error 127
即,完整路径有效,无路径无效。然后,让我头晕目眩的是“干净”的目标在没有路径的情况下运行良好。不仅仅是cygwin命令,make也找不到编译器。很明显,在某个地方,路径已经过处理,尽管环境变量path已经设置,但只在make中设置,这在DOS提示符下运行良好

C:\>cygpath --unix c:\programme\cygwin\bin\rm  
/usr/bin/rm
该机器在VMWare ESX上的虚拟机中运行Windows Server 2003德语,cygwin安装于昨天完成,安装在c:\Program\cygwin\中,其他一切都是干净的Windows安装


有什么想法吗?提前感谢。

与其说是一个解决方案,不如说是一个变通办法——我们让所有的makefile使用指向它们所需的exe文件的绝对路径,这在任何情况下都比搜索路径并获取您找到的要更好

为了保存某人,最好调用cygwin的bin目录中的一些Google命令:

CYGWIN_EXE_PATH = /usr/bin
RM        = $(CYGWIN_EXE_PATH)/rm.exe
.PHONY: clean
clean:
    $(RM) -f $(OBJ_DIR)/*.*
类似地,程序文件目录中的文件如下:

COMPILER_DIR = "$(PROGRAMFILES)/TASKING/c563 v3.6r1"

希望这能有所帮助。

与其说是一个解决方案,不如说是一个变通办法——我们让所有的makefiles都使用指向所需exe文件的绝对路径,这在任何情况下都比搜索路径并获取所找到的要更好

为了保存某人,最好调用cygwin的bin目录中的一些Google命令:

CYGWIN_EXE_PATH = /usr/bin
RM        = $(CYGWIN_EXE_PATH)/rm.exe
.PHONY: clean
clean:
    $(RM) -f $(OBJ_DIR)/*.*
类似地,程序文件目录中的文件如下:

COMPILER_DIR = "$(PROGRAMFILES)/TASKING/c563 v3.6r1"

希望能有帮助。

我也吃过同样的东西

make未从makefile中找到rm


我的解决方法是从bash中运行makefile。以前我只是在windows cmd框中运行make。这为我解决了问题,但也产生了新的问题。在make期间创建的一些文件的权限设置非常奇怪。

我也有同样的权限设置

make未从makefile中找到rm


我的解决方法是从bash中运行makefile。以前我只是在windows cmd框中运行make。这为我解决了问题,但也产生了新的问题。在make期间创建的某些文件的权限设置非常奇怪。

您所说的“环境变量PATH已设置,但仅在make中”是什么意思?啊,很抱歉,这不是很清楚-PATH变量是在Windows中以正常方式设置的。使用“make”时,路径似乎未使用或不正确,即make无法找到路径上的exe文件。我在makefile中添加了@echo$(PATH),得到了:/cygdrive/c/program/Source Insight 3:/cygdrive/c/WINDOWS/cygdrive/c/WINDOWS/cygdrive/c/WINDOWS/system32/Wbem:c:/program/TASKING/c563 v3.6r1/bin/:/usr/bin:/cygdrive/c/program/IDM Computer Solutions/UltraEdit/抱歉,不知道那里会出什么问题。你说的是什么意思“环境变量路径已设置,但仅在make中设置”?啊,抱歉,这不是很清楚-路径变量是在Windows中以正常方式设置的。使用“make”时,路径似乎未使用或不正确,即make无法找到路径上的exe文件。我添加了@echo$(路径)到makefile并获取:/cygdrive/c/program/Source Insight 3:/cygdrive/c/WINDOWS/c/cygdrive/c/WINDOWS/system32/Wbem:c:/program/TASKING/c563 v3.6r1/bin/:/usr/bin:/cygdrive/c/program/IDM Computer Solutions/UltraEdit/对不起,不知道那里可能有什么问题。你没有找到更好的解决方案吗?你没有找到你没有找到更好的解决办法吗?