1

好吧,当我的项目使用多字节字符集时,我在链接使用 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???) 在任何情况下?

提前致谢

4

1 回答 1

2

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

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

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

于 2013-04-19T08:57:39.077 回答