我想在我的项目中使用NODEFAULTLIB链接器选项。然而,当我尝试使用基于CRT的函数时,比如printf和。。。Visual studio产生以下错误:
错误:未解析的外部符号printf。
所以我尝试使用以下宏:
#pragma注释(lib,"msvcrt.lib"(
但这并不能解决问题。我又犯了同样的错误。但是,我该如何解决这个问题?
/NODEFAULTLIB
在解析外部引用时从搜索的库列表中删除所有默认库。根据CRT库的特性,您需要链接到Microsoft C运行库.lib文件
就Multi-threaded Debug DLL (/MDd)
而言,在Configuration Properties > Linker > Input > Additional Dependencies
链接ucrtd.lib
、vcruntimed.lib
和msvcrtd.lib
对我有效。