嗨,我決定嘗試學習如何通過命令行和makefile建立程序,而不是依靠Visual Studio爲我完成。在熟悉編譯成.obj文件和鏈接的過程之後,我轉向了NMake。我已經編寫了一個基本的makefile,用於將位於多個文件夾中的源文件編譯爲.obj文件,將.obj文件的每個文件夾鏈接到.lib文件,然後將.lib文件鏈接到.exe文件中。NMake模式規則
CC=cl /c /EHsc /Fo
LIB=lib /OUT:
LINKER=link /OUT:
EXEC_NAME=Test.exe
DEL=del
MAKE=nmake
OUT=.\out
all: $(OUT)\*.lib
$(LINKER)$(EXEC_NAME) *.lib
clean:
$(DEL) $(OUT)
rebuild:
$(MAKE) clean
$(MAKE) all
$(OUT)%.lib: $(OUT)\%\*.obj
$(LIB)%.lib $(OUT)%\*.obj
%(OUT)\%\:
$(CC)$(OUT)\%\ .\%\*.cpp
當我嘗試用nmake all
運行它,它告訴我:提前NMAKE : fatal error U1073: don't know how to make '.\out\*.lib'
感謝。