/NODEFAULTLIB (Ignore Libraries)

/NODEFAULTLIB[:library]

Arguments

library
A library that you want the linker to ignore when it resolves external references.

Remarks

The /NODEFAULTLIB option tells the linker to remove one or more default libraries from the list of libraries it searches when resolving external references.

To create an .obj file that contains no references to default libraries, use /Zl (Omit Default Library Name).

By default, /NODEFAULTLIB removes all default libraries from the list of libraries it searches when resolving external references. The optional library parameter lets you remove a specified library from the list of libraries it searches when resolving external references. Specify one /NODEFAULTLIB option for each library you want to exclude.

The linker resolves references to external definitions by searching first in libraries that you explicitly specify, then in default libraries specified with the /DEFAULTLIB: option, and then in default libraries named in .obj files.

/NODEFAULTLIB:library overrides /DEFAULTLIB:library when the same library name is specified in both.

If you use /NODEFAULTLIB to build your program without the C run-time library, you may have to also use /ENTRY to specify the entry-point function in your program. For more information, see CRT Library Features.

To set this linker option in the Visual Studio development environment

  1. Open the project's Property Pages dialog box. For details, see Set C++ compiler and build properties in Visual Studio.

  2. Select the Configuration Properties > Linker > Input property page.

  3. Select the Ignore All Default Libraries property. Or, specify a semicolon-separated list of the libraries you want to ignore in the Ignore Specific Default Libraries property. The Command Line property page shows the effect of the changes you make to these properties.

To set this linker option programmatically

See also

MSVC linker reference
MSVC Linker Options