/NODEFAULTLIB(忽略库)

/NODEFAULTLIB 选项会告知链接器从其在解析外部引用时搜索的库列表中移除一个或多个默认库。

语法

]$

参数

library
希望链接器在解析外部引用时忽略的可选库名称。

注解

要创建不包含对默认库的引用的 .obj 文件,请使用 /Zl(省略默认库名称)

默认情况下,/NODEFAULTLIB 会从其在解析外部引用时搜索的库列表中移除所有默认库。 使用可选的 library 参数,可以从解析外部引用时搜索的库列表中移除指定的库。 为要排除的每个库指定一个 /NODEFAULTLIB 选项。

链接器会解析对外部定义的引用,其方法是现在显示指定的库中搜索,然后在由 /DEFAULTLIB 选项指定的默认库中搜索,接下来在 .obj 文件中命名的默认库中搜索。

在两者中指定了同一 library 名称时,/NODEFAULTLIB:library 可替代 /DEFAULTLIB:library

如果使用 /NODEFAULTLIB 在没有 C 运行时库的情况下生成程序,则可能还必须使用 /ENTRY 选项来指定程序中的入口点函数。 有关详细信息,请参阅 CRT 库功能

在 Visual Studio 开发环境中设置此链接器选项

  1. 打开项目的“属性页” 对话框。 有关详细信息,请参阅设置编译器和生成属性

  2. 选择“配置属性”>“链接器”>“输入”属性页

  3. 修改“忽略所有默认库”属性。 或者,在“忽略特定默认库”属性中指定要忽略的库的分号分隔列表。 “链接器”>“命令行”属性页显示了对这些属性所做更改的效果

  4. 选择“确定”或“应用”以保存更改。

以编程方式设置此链接器选项

另请参阅

MSVC 链接器参考
MSVC 链接器选项