The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
We recommend using Visual Studio 2017

/Yc (Create Precompiled Header File)


The latest version of this topic can be found at -Yc (Create Precompiled Header File).

Instructs the compiler to create a precompiled header (.pch) file that represents the state of compilation at a certain point.


Specifies a header (.h) file. When this argument is used, the compiler compiles all code up to and including the .h file.

When /Yc is specified without an argument, the compiler compiles all code up to the end of the base source file, or to the point in the base file where a hdrstop occurs. The resulting .pch file has the same base name as your base source file unless you specify a different file name using the hdrstop pragma or the /Fp option.

The precompiled code is saved in a file with a name created from the base name of the file specified with the /Yc option and a .pch extension. You can also use the /Fp (Name .Pch File) option to specify a name for the precompiled header file.

If you use /Ycfilename, the compiler compiles all code up to and including the specified file for subsequent use with the /Yu option.

If the options /Ycfilename and /Yu (Use Precompiled Header File)filename occur on the same command line and both reference, or imply, the same file name, /Ycfilename takes precedence. This feature simplifies the writing of makefiles.

For more information on precompiled headers, see:

To set this compiler option in the Visual Studio development environment

  1. Select a .cpp file. The .cpp file must #include the .h file that contains precompiled header information. The project's /Yc setting can be overridden at the file level.

  2. Open the project's Property Pages dialog box. For details, see How to: Open Project Property Pages.

  3. Click the C/C++ folder.

  4. Click the Precompiled Headers property page.

  5. Modify the Create/Use PCH Through File property or the Create/Use Precompiled Header property.

To set this compiler option programmatically

Consider the following code:

#include <afxwin.h>   // Include header for class library  
#include "resource.h" // Include resource definitions  
#include "myapp.h"    // Include information specific to this app  

When this code is compiled with the command CL /YcMYAPP.H PROG.CPP, the compiler saves all the preprocessing for AFXWIN.h, RESOURCE.h, and MYAPP.h in a precompiled header file called MYAPP.pch.

Compiler Options
Setting Compiler Options