前端之家收集整理的这篇文章主要介绍了
如何避免C中的“已定义的错误”,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在
链接应用程序时在MFC VS6项目中遇到这些类型的
错误:
@H_
502_2@msvcrt.lib(MSVCRT.dll) : error LNK2005: _atoi already defined in LIBC.lib(atox.obj)
我知道它意味着什么(一个函数存在于两个不同的库中);要解决它我应该排除2个库中的一个(msvcrt.lib或libc.lib).
但是,如果我这样做,会有各种未解决的外部错误.所以我想继续使用这两个库.
有没有办法告诉链接器我想在libc.lib中使用_atoi函数而不是在msvcrt.lib中(或者反过来)?
任何帮助或方向都会很棒.
此
错误当然意味着您要
链接使用不同运行时库编译的两段
代码. MSVCRT.dll是动态版本,而LIBC.lib是静态版本.如果你这样做,那么一切都会破裂.尝试查找
代码的哪些部分使用哪个版本,然后对其进行排序.
原文链接:https://www.f2er.com/c/117291.html