我做了如下的makefile(我在使用Visual Studio的命令行編譯器窗口)的Makefile乾淨的,我瞭解,現在使用的makefile和Windows
CC = cl
CFLAG = /EHsc
test_database.exe: composer.obj database.obj test_database.obj
$(CC) test_database.obj database.obj composer.obj
test_database.obj: test_database.cpp
$(CC) $(CFLAGS) -c test_database.cpp
composer.obj: composer.cpp composer.h
$(CC) $(CFLAGS) -c composer.cpp
database.obj: database.cpp database.h
$(CC) $(CFLAGS) -c database.cpp
.PHONY : clean
clean:
rm -f *.obj
每當我調用make clean
我得到make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4ff283)
我我不太確定我做錯了什麼。我可以使用make來編譯程序沒有問題當我定位乾淨時,我只是得到錯誤。我的機器上存在rm
,並且隨時都在使用它。我試過DEL
以及相同的錯誤。任何幫助指出我在正確的方向將不勝感激。
製作版本是GNU Make 3.80
好吧,你似乎在GNU Makefile知識中應用了Nmake,假設你在命令行中使用'make'調用Nmake,而不是構建GNU make for Windows。你在第2行有一個拼寫錯誤('CFLAG'應該是'CFLAGS'),但除此之外,它應該是刪除Nmake不支持的.PHONY指令並將'rm -f'更改爲' del/f/q'。 – 2011-06-03 02:32:29
'make --version'給了我'GNU Make 3.80',感謝您注意到了拼寫錯誤,但這只是編譯器的錯誤處理選項,與clean無關。我已經在這裏做了假,並省略了。 – ameer 2011-06-03 02:47:31
這是什麼版本的'make'? 'make --version'應該告訴你。 'make -p clean'也可能有幫助。 – 2011-06-03 02:48:14