Xin chào Tôi đã quyết định thử và tìm hiểu cách xây dựng chương trình qua dòng lệnh và makefiles thay vì dựa vào Visual Studio để làm điều đó cho tôi. Sau khi tự làm quen với quá trình biên dịch thành các tệp .obj và liên kết, tôi chuyển sang NMake. Tôi đã viết một makefile cơ bản để thử và biên dịch các tệp nguồn nằm trong nhiều thư mục thành tệp .obj, liên kết từng thư mục của tệp .obj thành các tệp .lib và sau đó liên kết các tệp .lib vào tệp .exe.Quy tắc mẫu 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
Khi tôi cố gắng chạy nó với nmake all
nó nói với tôi: NMAKE : fatal error U1073: don't know how to make '.\out\*.lib'
Cảm ơn trước.