gpt4 book ai didi

c++ - 如何忽略 LNK2005 和 LNK1169?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:50:50 25 4
gpt4 key购买 nike

所以我有一个使用外部库的 Visual Studio 2010 项目,为了在没有 LNK2005 的情况下编译它,我不得不在链接器设置中调整库的顺序。

我让它在 Release模式下编译得很好,但出于某种原因我没能在调试时让它在没有 LNK 错误的情况下编译。

有没有办法普遍忽略 LNK2005 并告诉链接器简单地使用他首先遇到的任何东西?

谢谢!

//编辑:这里是特定问题的一些错误输出。但是我已经尝试以不同的方式解决这个问题,每个解决方案都会给我不同的链接器问题。因此我正在寻找忽略 LNK2005 的通用解决方案

错误 7 error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)"(??0type_info@@AAE@ABV0@@Z) already defined in Libcmtd.lib(typinfo.obj)
...\msvcprtd.lib(MSVCP100D.dll)

错误 8 error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)"(??4type_info@@AAEAAV0@ABV0@@Z) already defined in Libcmtd.lib(类型信息.obj)
...\msvcprtd.lib(MSVCP100D.dll)

错误 9 error LNK2005: _exit already defined in Libcmtd.lib(crt0dat.obj)
...\msvcprtd.lib(MSVCP100D.dll)

错误 10 error LNK2005: __invalid_parameter already defined in Libcmtd.lib(invarg.obj)
...\msvcprtd.lib(MSVCP100D.dll)

...

错误 37 错误 LNK1169:找到一个或多个多重定义的符号

最佳答案

您可以尝试链接器选项/FORCE(在“项目属性”的“链接器常规”选项卡中强制文件输出)。即使发生此类错误,这也会强制链接器创建 exe/dll。但它留给你找出这个 exe 是否确实工作,甚至是否正确。毕竟我不推荐这种策略。

链接器错误有时很难解决,但通常只有在迁移或设置项目后才能解决。这可能需要相当长的时间 - 有时我花了一天多的时间,但应该正确完成。

关于c++ - 如何忽略 LNK2005 和 LNK1169?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4085050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com