【发布时间】:2012-09-27 09:36:02
【问题描述】:
您好,我决定尝试学习如何通过命令行和 makefile 构建程序,而不是依赖 Visual Studio 来为我完成。在熟悉了编译成 .obj 文件和链接的过程之后,我开始使用 NMake。我编写了一个基本的 makefile 来尝试将位于多个文件夹中的源文件编译为 .obj 文件,将 .obj 文件的每个文件夹链接到 .lib 文件,然后将 .lib 文件链接到 .exe 文件。
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'
提前致谢。
【问题讨论】:
标签: c++ compilation makefile nmake