error lnk 2005 atlsd.lib

来源:互联网 发布:程序员周末兼职 编辑:程序博客网 时间:2024/06/16 11:02
1>atlsd.lib(Externs.obj) : error LNK2005: "char const * const g_pszUpdateEventName" (?g_pszUpdateEventName@@3PBDB) 已经在 atls.lib(Externs.obj) 中定义
1>atlsd.lib(Externs.obj) : error LNK2005: "char const * const g_pszAllocFileMapName" (?g_pszAllocFileMapName@@3PBDB) 已经在 atls.lib(Externs.obj) 中定义
1>atlsd.lib(Externs.obj) : error LNK2005: "char const * const g_pszKernelObjFmt" (?g_pszKernelObjFmt@@3PBDB) 已经在 atls.lib(Externs.obj) 中定义

1>atlsd.lib(Externs.obj) : error LNK2005: "class CAtlAllocator g_Allocator" (?g_Allocator@@3VCAtlAllocator@@A) 已经在 atls.lib(Externs.obj) 中定义



折腾了一天终于找到问题的解决办法了,既然两个库都调用了,那就直接忽略一个。

在调试debug版本的时候,忽略atlsd.lib。在调试release版本时,忽略atls.lib就行。

(Property pages -》Linker-》Input -》Ignore Specific Library,添加atls.lib


其实这个问题的根本原因在于在项目里面两次调用了atlsd.lib这个库,但是实在找不到哪里这么调用的。因此上述解决办法是比较完美的。

原创粉丝点击