不容忽视的警告:默认库msvcrt.lib与其他库的使用冲突,请使用/NODEFAULTLIB:library

用Visual Studio编译C++项目的时候可能会遇到这个警告:默认库msvcrt.lib与其他库的使用冲突,请使用/NODEFAULTLIB:library。

不要因为是警告就可以不管了,这个问题不解决会给你带来无穷无尽的痛苦。

之所以VS会爆出警告,是因为VS在编译链接的时候发现既链接了msvcrtd.lib又要去链接msvcrt.lib。这种情况往往是因为你引用了地方三库。VS抱怨了而你没有关心,程序虽然编完了,但是一运行就出错,这时再去解决问题就麻烦了,你甚至不知道错在哪里。

还是老老实实先把警告解决了吧。

解决方法倒是也简单,因为警告信息里已经大概指明方向了。在项目配置里面忽略一下某个默认库就可以了。在这里就是忽略msvcrt.lib。

原文地址:https://www.cnblogs.com/ingvar/p/6773411.html