LNK4098:发布版本中的defaultlib“mfc42d.lib”冲突

时间:2012-02-27 20:38:13

标签: visual-c++

经过几个小时伸展我的头发后,我无法弄清楚这一点。在Debug版本中,它工作正常。但是在发布模式下,我收到此警告并最终出现运行时错误。据我所知,这些库是调试版本。为什么我的发布版本正在寻找这些库,我该如何阻止它?仅供参考,我查看了设置和项目文件以找到白费的线索。

 LINK : warning LNK4098: defaultlib "mfc42d.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
 LINK : warning LNK4098: defaultlib "mfcs42d.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
 LINK : warning LNK4098: defaultlib "msvcrtd.lib" conflicts with use of other libs; use /NODEFAULTLIB:library

1 个答案:

答案 0 :(得分:2)

无法在没有更多信息的情况下告诉您为什么您的项目包含这些内容。我的猜测是你正在链接一些其他库的调试配置,这会引入这些依赖项。如果增加链接器设置的详细程度,则可能会显示哪些文件包含它们。

虽然在错误消息中给出了修复程序。将/nodefaultlib:mfc42d.lib/nodefaultlib:mfcs42d.lib /nodefaultlib:msvcrtd.lib添加到链接器参数。