C++项目编译时遇到警告
LNK4098 defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
原因
使用多线程调试dll(/MDd)模式时,msvcrtd.lib和具体使用的lib文件有冲突
解决方法(有3种)
1.C/C++ -> 代码生成(Code Generation) -> 运行时库(Runtime Library)
把“Multi-threaded Debug DLL (/MDd)”改为“Multi-threaded DLL (/MD)”
2.链接器(Linker) -> 输入(Input) -> 忽略指定库(Ignore Specific Default Libraries)
填入具体的库的文件名,例如这里是“MSVCRT.lib”
* 由于是2个文件冲突,所以既可以忽略MSVCRT.lib,也可以忽略你使用的lib,例如glfw3.lib
3.链接器(Linker) -> 命令行(Command Line) -> 附加选项(Additional Options)
填入追加的命令,例如这里是“/NODEFAULTLIB:"MSVCRT.lib"”
* 由于是2个文件冲突,所以既可以忽略MSVCRT.lib,也可以忽略你使用的lib,例如glfw3.lib
标签:LNK4098,use,lib,忽略,NODEFAULTLIB,MSVCRT From: https://www.cnblogs.com/live41/p/16848720.html