Sdílet prostřednictvím


Ukázka souboru Makefile pro PCH

Používá následující makefile makra a!POKUD!ELSE!Struktura řízení toku příkaz ENDIF zjednodušit jeho přizpůsobení projektu.

# Makefile : Illustrates the effective use of precompiled
#            headers in a project
# Usage:     NMAKE option
# option:    DEBUG=[0|1]
#            (DEBUG not defined is equivalent to DEBUG=0)
OBJS = myapp.obj applib.obj
# List all stable header files in the STABLEHDRS macro.
STABLEHDRS = stable.h another.h
# List the final header file to be precompiled here:
BOUNDRY = stable.h
# List header files under development here:
UNSTABLEHDRS = unstable.h
# List all compiler options common to both debug and final
# versions of your code here:
CLFLAGS = /c /W3
# List all linker options common to both debug and final
# versions of your code here:
LINKFLAGS = /NOD /ONERROR:NOEXE
!IF "$(DEBUG)" == "1"
CLFLAGS   = /D_DEBUG $(CLFLAGS) /Od /Zi /f
LINKFLAGS = $(LINKFLAGS) /COD
LIBS      = slibce
!ELSE
CLFLAGS   = $(CLFLAGS) /Oselg /Gs
LINKFLAGS = $(LINKFLAGS)
LIBS      = slibce
!ENDIF
myapp.exe: $(OBJS)
    link $(LINKFLAGS) @<<
$(OBJS), myapp, NUL, $(LIBS), NUL;
<<
# Compile myapp
myapp.obj  : myapp.cpp $(UNSTABLEHDRS)  stable.pch
    $(CPP) $(CLFLAGS) /Yu$(BOUNDRY)    myapp.cpp
# Compile applib
applib.obj : applib.cpp $(UNSTABLEHDRS) stable.pch
    $(CPP) $(CLFLAGS) /Yu$(BOUNDRY)    applib.cpp
# Compile headers
stable.pch : $(STABLEHDRS)
    $(CPP) $(CLFLAGS) /Yc$(BOUNDRY)    applib.cpp myapp.cpp

Kromě UNSTABLEHDRS, STABLEHDRS a AUTONOMNÍHO makra ukazuje obrázek "Struktury z Makefile, používá předkompilována záhlaví souboru" v Soubory PCH v procesu vytváření, poskytuje tato makefile makro CLFLAGS a LINKFLAGS makro.Kompilátor a linker možnosti, které platí v sestavení ladění nebo konečnou verzi spustitelného souboru aplikace, musíte použít tato makra.Existuje také makro KNIHOVEN kde seznam knihoven projekt vyžaduje.

Používá také makefile!POKUD!ELSE!ENDIF ke zjištění, zda definovat ladění symbol NMAKE příkazového řádku:

NMAKE DEBUG=[1|0]

Tato funkce umožňuje použít stejné makefile během vývoje a pro konečné verze programu – použít ladění = 0 pro konečné verze.Následující příkazy jsou rovnocenné:

NMAKE 
NMAKE DEBUG=0

Další informace o makefiles viz NMAKE referenční.Viz také Volby kompilátoru a Linker možnosti.

Viz také

Referenční dokumentace

Pomocí záhlaví předkompilovaný v projektu