CC = cl.exe LINK = link.exe # 1. 编译与链接选项 CFLAGS = /nologo /W3 /EHsc /Ox /DNDEBUG /MT /I ..\TypeLibs # 建议加上 /MACHINE:X64,避免架构警告 LDFLAGS = /nologo /MACHINE:X64 Gdi32.lib user32.lib Kernel32.lib # 2. 显式列出目标文件(在 NMAKE 中最稳妥,避免变量替换失效) OBJECTS = main.obj cdrapp.obj TARGET = app.exe # 默认伪目标 all: $(TARGET) # 链接规则 $(TARGET): $(OBJECTS) $(LINK) $(LDFLAGS) /out:$(TARGET) $(OBJECTS) # NMAKE 标准后缀推导规则(必须先声明后缀列表) .SUFFIXES: .cpp .obj .cpp.obj: $(CC) $(CFLAGS) /c $< # 清理 clean: del /Q *.obj *.dll *.exe VGCoreAuto.tlh VGCoreAuto.tli ## 单行命令编译 ## cl.exe /EHsc /Ox /DNDEBUG main.cpp cdrapp.cpp /Fe:app.exe Gdi32.lib user32.lib Kernel32.lib