Skip to content

Latest commit

 

History

History
59 lines (43 loc) · 3.27 KB

nodefaultlib-ignore-libraries.md

File metadata and controls

59 lines (43 loc) · 3.27 KB
title ms.custom ms.date ms.reviewer ms.suite ms.technology ms.tgt_pltfrm ms.topic f1_keywords dev_langs helpviewer_keywords ms.assetid caps.latest.revision author ms.author manager
-NODEFAULTLIB (Ignore Libraries) | Microsoft Docs
11/04/2016
cpp-tools
article
VC.Project.VCLinkerTool.OVERWRITEAllDefaultLibraries
VC.Project.VCLinkerTool.OVERWRITEDefaultLibraryNames
/nodefaultlib
C++
default libraries, removing
-NODEFAULTLIB linker option
libraries, ignore
NODEFAULTLIB linker option
/NODEFAULTLIB linker option
ignore libraries linker option
7270b673-6711-468e-97a7-c2925ac2be6e
10
corob-msft
corob
ghogen

/NODEFAULTLIB (Ignore Libraries)

/NODEFAULTLIB[:library]   

Remarks

where:

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 does not contain 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 or libraries 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, for example, 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 Setting Visual C++ Project Properties.

  2. Click the Linker folder.

  3. Click the Inputproperty page.

  4. Select the Ignore All Default Libraries property or specify a list of the libraries you want to ignore in the Ignore Specific Library property. The Command Line property page will show the effect of the changes you make to these properties.

To set this linker option programmatically

  • See xref:Microsoft.VisualStudio.VCProjectEngine.VCLinkerTool.IgnoreDefaultLibraryNames%2A and xref:Microsoft.VisualStudio.VCProjectEngine.VCLinkerTool.IgnoreAllDefaultLibraries%2A.

See Also

Setting Linker Options
Linker Options