LNK2005的问题

BombZhang 2007-01-23 05:38:18
将工程从VC6升级到Visual Studio 2005以后发现报了很多LNK2005的连接错误: LIBCMTD.lib(vsnprnc.obj) error LNK2005 _vsprintf_s already defined in msvcrtd.lib(MSVCR80D.DLL),这只是其中一个.都是说LIBCMTD.lib和msvcrtd.lib中的符号定义冲突,我在项目设置中修改了这两个库的连接顺序但是仍然会报这个错,唯一不同的是错误信息中两个库的位置交换了一下,请问各位高手如何解决?
...全文
262 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
cleverwyq 2007-01-23
  • 打赏
  • 举报
回复
symbol already defined in object

The given symbol, displayed in its decorated form, was multiply defined.

Possible causes

Accidentally linking with both the single-threaded and multithreaded libraries. Ensure that the application project file includes only the appropriate libraries and that any third-party libraries have appropriately created single-threaded or multithreaded versions.
Mixing static and dynamic libraries when also using /clr.
The symbol is a packaged function (created by compiling with /Gy) and was included in more than one file but was changed between compilations. Recompile all files that include symbol.
The symbol is defined differently in two member objects in different libraries, and both member objects were used.
An absolute is defined twice, with a different value in each definition.
A header file declared and defined a variable. Possible solutions include:
Declare the variable in .h: extern BOOL MyBool; and then assign to it in a .c or .cpp file: BOOL MyBool = FALSE;.
Declare the variable static.
Declare the variable selectany.
If you use uuid.lib in combination with other .lib files that define GUIDs (for example, oledb.lib and adsiid.lib). For example:
oledb.lib(oledb_i.obj) : error LNK2005: _IID_ITransactionObject
already defined in uuid.lib(go7.obj)
To fix, add /FORCE:MULTIPLE to the linker command line options, and make sure that uuid.lib is the first library referenced.

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧