在嘗試安裝生成服務器時,我遇到了一個有趣的問題,其中所有cygwin命令都可以從DOS框運行,但有時從make調用時不起作用。更奇怪的是一些製作目標,比如'乾淨',工作和其他人,比如'全部',不。Cygwin make找不到cygwin命令
這裏是一個代表性的生成文件提取。該報價已經在該區的格式,但標籤是他們應該的,相信我:
.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)/*.*
請注意,在「全部」一個電話RM有一個完整的路徑和一個沒有路徑。另外請注意,clean的rm呼叫沒有路徑。
對此的響應 '讓-C makefile文件全部':
/usr/bin/rm -f ../../obj/myfile1.txt
rm -f ../../obj/myfile2.txt
make: rm: Command not found
make: *** [all] Error 127
即。完整的路徑工作,沒有路徑不工作。然後開始我的頭旋轉是'乾淨'的目標,使沒有路徑工作正常。它不只是cygwin命令,也不能找到編譯器。似乎很清楚,路徑已經被佔用,儘管設置了環境變量PATH,但只在make中 - 這在DOS提示符下工作正常。
C:\>cygpath --unix c:\programme\cygwin\bin\rm
/usr/bin/rm
機器運行Windows Server 2003的德語在VMware ESX的虛擬機,安裝的cygwin昨天完成,安裝在c:\程序\ Cygwin的\和其他一切是乾淨的香草的Windows安裝。
任何想法?提前致謝。
你是什麼意思「設置環境變量PATH,但只在make中」? – ak2 2010-07-21 11:10:50
啊,對不起,這不是很清楚 - PATH變量是以正常方式在Windows中設置的。當使用'make'時,看起來PATH沒有被使用或不正確,即。 make找不到路徑上的exe文件。我添加了一個@echo $(PATH)到makefile,得到: /cygdrive/c/Program/Source Insight 3:/ cygdrive/c/WINDOWS/system32:/ cygdrive/c/WINDOWS:/ cygdrive/c/WINDOWS/System32/Wbem:c:/ Program/TASKING/c563 v3.6r1/bin /:/ usr/bin:/ cygdrive/c/Program/IDM計算機解決方案/ UltraEdit/ – 0xDEADBEEF 2010-07-21 12:24:46
對不起, – ak2 2010-07-22 11:36:38