<分区>
我正在 Visual C++ 2008 中构建一个项目,这是一个基于 MFC 的示例应用程序,用于我很快将在我自己的项目中使用的静态 C++ 类库。在构建调试配置时,我得到以下信息:
warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
使用推荐选项(通过将“msvcrt”添加到调试配置的项目链接器设置中的“忽略特定库”字段)后,程序链接并运行良好。但是,我想知道为什么会发生这种冲突,为什么我必须忽略一个关键库,如果我以后会遇到问题,我会添加忽略,或者如果我不这样做会发生什么(因为无论如何都会构建程序)。
同时Release配置警告:
warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/OPT:ICF' specification
warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
我猜“D”后缀表示这是 vc++ 运行时的调试版本,不知道这次为什么要使用它。无论如何,将“msvcrtd”添加到忽略字段会导致大量以下形式的链接错误:
error LNK2001: unresolved external symbol __imp___CrtDbgReportW
非常感谢任何见解。