CL /nologo






This option is subject to the syntax of early command-line processing for some purposes. Note especially that the option’s early effects may be skipped if the option is given in a command file.


The positive and negative forms override each other.

The /nologo option passes unchanged to the front-end C and C++ compilers and to the linker.

Behaviour (CL)

In brief, the positive form suppresses the logo at startup and the negative form makes explicit that this suppression is not wanted. However, there are some other effects.

Early Processing

The startup logo is written to standard error. It consists of a title, with a full version number, and an assertion of Microsoft’s copyright. Whether the logo describes the compiler as being “for 80x86” or “for .NET Framework” depends on the /clr option.

In addition to suppressing the logo at startup, the /nologo option directs the compiler not to echo lines extracted from command files.

Ordinary Processing

If the ordinary processing of command-line options finishes with the positive form of /nologo selected, then the option is passed to the front-end compiler modules and to the linker.


If the actual command line has no arguments and the CL environment variable is empty, then the compiler exits very early, after showing the logo and a brief description of usage. This display of the startup logo is not subject to the /nologo option (which would anyway have to be in the _CL_ environment variable).

Even without /nologo, the logo is suppressed if the environment variable MPCL_SERVER_373011 has the case-sensitive value bananana. This is ordinarily a side-effect of multi-processing (as enabled by the /MP option). Details are beyond the current scope of these notes.

Behaviour (Compiler Modules)

The front-end C++ compiler (C1XX) interprets /nologo as suppressing some informational messages about the use of precompiled headers.