c++ - 警告 LNK4098 : defaultlib 'mfc110u.lib' conflicts with use of other libs

标签 c++ visual-studio-2012 linker-warning

好吧,我在链接使用 unicode 字符集编译的库时收到此警告,而我的项目使用多字节字符集。

1>LINK : warning LNK4098: defaultlib 'mfc110u.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
1>LINK : warning LNK4098: defaultlib 'mfcs110u.lib' conflicts with use of other libs; use /NODEFAULTLIB:library

(注意,不涉及其他库,如 msvcrt 等)我的问题是如何处理这个问题。我可以简单地忽略它还是必须在任何情况下添加/NODEFAULTLIB:lib(mfc110u.lib 或 mfc110.lib???)?

提前致谢

最佳答案

有几个选项可用(同样适用于混合调试/发布库的类似警告)。

1) 使用相同的项目规范重建所有内容,因此在您的情况下是多字节还是 unicode

2) 一切保持原样,但要注意在使用不同运行时的应用程序和库中传递的数据。因此,您不会将任何可能会根据其他运行时错误处理的库传递给库。在调试/发布问题的情况下,这意味着例如你不释放()或删除[]任何在库中分配的东西,反之亦然。在你的情况下,如果库期望任何参数是 unicode,你应该采取措施提供适当的字符串到库函数。

关于c++ - 警告 LNK4098 : defaultlib 'mfc110u.lib' conflicts with use of other libs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16100174/

相关文章:

c++ - 使函数返回内联临时对象?

unit-testing - Resharper 从不同位置运行 UnitTest

vb.net - 'Default' 和 'Legacy ObjectContext' 代码生成之间有根本区别吗

ios - 如何抑制 `warning: linking against dylib not safe for use in application extensions` ?

c++ - 包含两个函数名称相同的库时出现链接器警告 "second definition ignored"

c++ - Nim 游戏 - 堆栈选择

c++ - main 已经在 main.obj 中定义

c++ - 分配自身的类型的分配器

visual-studio-2012 - 工具/选择工具箱项中的VS 2012崩溃

c++ - ZLib.lib(d000062.o) : warning LNK4078: multiple '.text' sections found with different attributes