【问题标题】:LNK2005: delete already defined error in VC++LNK2005:删除 VC++ 中已定义的错误
【发布时间】:2010-05-05 12:35:38
【问题描述】:

我是 VC++ 的新手,如果这是愚蠢的,请原谅我。

我在一个项目下有 7 个解决方案。其中六个构建静态库,这些库在第 7 个内部链接以生成 exe。所有项目的运行时配置都是多线程调试。 用于生成 exe 的 sln 使用 MFC,其他 sln 使用标准 runtiem 库。我尝试将它们更改为 MFC,但仍然遇到相同的错误。 所有六个 sln 都成功构建。 当我尝试构建 exe 时 - 得到以下错误:

nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *,int,char const *,int)" (??3@YAXPAXHPBDH@Z) already defined in tara_common.lib(fileStream.obj)

这很奇怪,因为 tara_common 是我生成的库之一,而 fileStream.cpp 是仅在指针上使用 delete 的文件。

我在详细模式中构建了它,所以我附上了输出。

ENVIRONMENT SPACE

_ACP_ATLPROV=C:\Program Files\Microsoft Visual Studio 9.0\VC\Bin\ATLProv.dll
    _ACP_INCLUDE=C:\Program Files\Microsoft Visual Studio 9.0\VC\include;C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include;C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include;C:\Program Files\Microsoft SDKs\Windows\v6.0A\include
    _ACP_LIB=C:\fta\tara\database\build\Debug;C:\Program Files\Microsoft Visual Studio 9.0\VC\lib;C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\lib;C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\lib\i386;C:\Program Files\Microsoft SDKs\Windows\v6.0A\\lib;C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib;C:\Program Files\Microsoft Visual Studio 9.0\;C:\Program Files\Microsoft Visual Studio 9.0\lib
    _ACP_PATH=C:\Program Files\Microsoft Visual Studio 9.0\VC\bin;C:\Program Files\Microsoft SDKs\Windows\v6.0A\\bin;C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\bin;C:\Program Files\Microsoft Visual Studio 9.0\Common7\tools;C:\Program Files\Microsoft Visual Studio 9.0\Common7\ide;C:\Program Files\HTML Help Workshop;C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin;c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 9.0\;C:\WINDOWS\SysWow64;;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;c:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Microsoft Visual Studio 9.0\VC\bin;C:\Program Files\GnuWin32\bin;C:\Python26
    ALLUSERSPROFILE=C:\Documents and Settings\All Users
    CLIENTNAME=Console
    CommonProgramFiles=C:\Program Files\Common Files
    ComSpec=C:\WINDOWS\system32\cmd.exe
    FP_NO_HOST_CHECK=NO
    HOMEDRIVE=C:
    INCLUDE=C:\Program Files\Microsoft Visual Studio 9.0\VC\include;C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include;C:\Program Files\Microsoft SDKs\Windows\v6.0A\\include;C:\Program Files\Microsoft SDKs\Windows\v6.0A\include
    LIB=C:\fta\tara\database\build\Debug;C:\Program Files\Microsoft Visual Studio 9.0\VC\lib;C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\lib;C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\lib\i386;C:\Program Files\Microsoft SDKs\Windows\v6.0A\\lib;C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib;C:\Program Files\Microsoft Visual Studio 9.0\;C:\Program Files\Microsoft Visual Studio 9.0\lib
    LIBPATH=c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\lib;C:\Program Files\Microsoft Visual Studio 9.0\VC\lib
    LOGONSERVER=\\xxx
    NUMBER_OF_PROCESSORS=1
    OS=Windows_NT
    PATH=C:\Program Files\Microsoft Visual Studio 9.0\VC\bin;C:\Program Files\Microsoft SDKs\Windows\v6.0A\\bin;C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\bin;C:\Program Files\Microsoft Visual Studio 9.0\Common7\tools;C:\Program Files\Microsoft Visual Studio 9.0\Common7\ide;C:\Program Files\HTML Help Workshop;C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin;c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 9.0\;C:\WINDOWS\SysWow64;;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;c:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Microsoft Visual Studio 9.0\VC\bin;C:\Program Files\GnuWin32\bin;C:\Python26
    PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
    PROCESSOR_ARCHITECTURE=x86
    PROCESSOR_IDENTIFIER=x86 Family 6 Model 23 Stepping 10, GenuineIntel
    PROCESSOR_LEVEL=6
    PROCESSOR_REVISION=170a
    ProgramFiles=C:\Program Files
    SESSIONNAME=Console
    SystemDrive=C:
    SystemRoot=C:\WINDOWS
    VisualStudioDir=C:\Documents and Settings\sgupta\My Documents\Visual Studio 2008
    VS90COMNTOOLS=C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\
    WecVersionForRosebud.710=2
    windir=C:\WINDOWS

COMMAND LINES:

Creating temporary file "c:\fta\tools\channel_editor\IvoDB\Debug\RSP00011018082288.rsp" with contents
[
/VERBOSE /OUT:"C:\fta\tools\channel_editor\\Builds\IvoDB_1_35_Debug.exe" /INCREMENTAL /LIBPATH:"..\..\..\3rdparty\boost_1_42_0\stage\lib" /MANIFEST /MANIFESTFILE:"Debug\IvoDB_1_35_Debug.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DELAYLOAD:"OleAcc.dll" /DEBUG /PDB:"C:\fta\tools\channel_editor\Builds\IvoDB_1_35_Debug.pdb" /SUBSYSTEM:WINDOWS /DYNAMICBASE /NXCOMPAT /MACHINE:X86 ..\..\..\tara\database\build\Debug\tara_database.lib ..\..\..\tara\common\build\Debug\tara_common.lib ..\..\..\3rdparty\sqliteWrapper\Debug\sqliteWrapper.lib ..\..\..\3rdparty\sqlite_3_6_18\Debug\sqlite.lib ..\..\..\stsdk\modules\win32\Debug\modules.lib ..\..\..\stsdk\axeapi\win32\Debug\axeapi.lib DelayImp.lib

".\Debug\AntennaSettings.obj"

".\Debug\AudioVideoSettings.obj"

".\Debug\CMDatabase.obj"

".\Debug\CMSettings.obj"

".\Debug\ColorFileDialog.obj"

".\Debug\ColorStatic.obj"

".\Debug\DragDropListCtrl.obj"

".\Debug\DragDropTreeCtrl.obj"

".\Debug\FavouriteEdit.obj"

".\Debug\FavTab.obj"

".\Debug\FindProgram.obj"

".\Debug\HyperLink.obj"

".\Debug\IvoDB.obj"

".\Debug\IvoDBDlg.obj"

".\Debug\IvoDBInfo.obj"

".\Debug\IvoDBInfoTab.obj"

".\Debug\IvoDbStruct.obj"

".\Debug\LayoutHelper.obj"

".\Debug\MainTab.obj"

".\Debug\OperTabCtrl.obj"

".\Debug\ParentalLock.obj"

".\Debug\ProgramEdit.obj"

".\Debug\ProgramTab.obj"

".\Debug\PVRSettings.obj"

".\Debug\SatTab.obj"

".\Debug\SettingsBase.obj"

".\Debug\SettingsTab.obj"

".\Debug\STBSettings.obj"

".\Debug\stdafx.obj"

".\Debug\TimeDate.obj"

".\Debug\TransponderEdit.obj"

".\Debug\TreeTab.obj"

".\Debug\UserPreferences.obj"

".\Debug\Xmodem.obj"

".\Debug\IvoDB.res"

".\Debug\IvoDB_1_35_Debug.exe.embed.manifest.res"
]


Creating command line "link.exe @c:\fta\tools\channel_editor\IvoDB\Debug\RSP00011018082288.rsp /NOLOGO /ERRORREPORT:PROMPT"



**Processed /DEFAULTLIB:atlsd.lib
Processed /DEFAULTLIB:ws2_32.lib
Processed /DEFAULTLIB:mswsock.lib
 Processed /DISALLOWLIB:mfc90d.lib
 Processed /DISALLOWLIB:mfcs90d.lib
 Processed /DISALLOWLIB:mfc90.lib
 Processed /DISALLOWLIB:mfcs90.lib
 Processed /DISALLOWLIB:mfc90ud.lib
 Processed /DISALLOWLIB:mfcs90ud.lib
 Processed /DISALLOWLIB:mfc90u.lib
 Processed /DISALLOWLIB:mfcs90u.lib
 Processed /DISALLOWLIB:uafxcwd.lib
 Processed /DISALLOWLIB:uafxcw.lib
 Processed /DISALLOWLIB:nafxcw.lib
      Found "void __cdecl operator delete(void *)" (??3@YAXPAX@Z)
        Referenced in axeapi.lib(ipcgeneric.obj)

        Referenced in axeapi.lib(ipccommon.obj)
        Referenced in axeapi.lib(activeobject.obj)
        Referenced in nafxcwd.lib(nolib.obj)
        Referenced in sqliteWrapper.lib(DbConnection.obj)
        Referenced in sqliteWrapper.lib(Statement.obj)
        Referenced in axeapi.lib(nvstorage.obj)
        Referenced in axeapi.lib(avctrler.obj)
        Referenced in tara_common.lib(trace.obj)
        Referenced in tara_common.lib(ssPrintf.obj)
        Referenced in tara_common.lib(taraConfig.obj)
        Referenced in tara_common.lib(stream.obj)
        Referenced in tara_common.lib(STBConfigurationStorage.obj)
        Referenced in tara_common.lib(STBConfiguration.obj)
        Referenced in tara_common.lib(configParser.obj)
        Referenced in tara_common.lib(fileStream.obj)
        Referenced in tara_database.lib(SatStream.obj)
        Referenced in tara_database.lib(Service.obj)
        Referenced in tara_database.lib(ServiceList.obj)
        Referenced in tara_common.lib(playerConfig.obj)
        Referenced in UserPreferences.obj
        Referenced in Xmodem.obj
        Referenced in tara_database.lib(init.obj)
        Referenced in tara_database.lib(Satellite.obj)
        Referenced in TransponderEdit.obj
        Referenced in TreeTab.obj
        Referenced in TreeTab.obj
        Referenced in UserPreferences.obj
        Referenced in stdafx.obj
        Referenced in TimeDate.obj
        Referenced in TimeDate.obj
        Referenced in TransponderEdit.obj
        Referenced in SettingsTab.obj
        Referenced in SettingsTab.obj
        Referenced in STBSettings.obj
        Referenced in STBSettings.obj
        Referenced in SatTab.obj
        Referenced in SatTab.obj
        Referenced in SettingsBase.obj
        Referenced in SettingsBase.obj
        Referenced in ProgramTab.obj
        Referenced in ProgramTab.obj
        Referenced in PVRSettings.obj
        Referenced in PVRSettings.obj
        Referenced in ParentalLock.obj
        Referenced in ParentalLock.obj
        Referenced in ProgramEdit.obj
        Referenced in ProgramEdit.obj
        Referenced in MainTab.obj
        Referenced in MainTab.obj
        Referenced in OperTabCtrl.obj
        Referenced in OperTabCtrl.obj
        Referenced in IvoDBInfoTab.obj
        Referenced in IvoDbStruct.obj
        Referenced in LayoutHelper.obj
        Referenced in LayoutHelper.obj
        Referenced in IvoDBDlg.obj
        Referenced in IvoDBInfo.obj
        Referenced in IvoDBInfo.obj
        Referenced in IvoDBInfoTab.obj
        Referenced in HyperLink.obj
        Referenced in IvoDB.obj
        Referenced in IvoDB.obj
        Referenced in IvoDBDlg.obj
        Referenced in FavTab.obj
        Referenced in FavTab.obj
        Referenced in FindProgram.obj
        Referenced in FindProgram.obj
        Referenced in DragDropTreeCtrl.obj
        Referenced in DragDropTreeCtrl.obj
        Referenced in FavouriteEdit.obj
        Referenced in FavouriteEdit.obj
        Referenced in ColorFileDialog.obj
        Referenced in ColorStatic.obj
        Referenced in DragDropListCtrl.obj
        Referenced in DragDropListCtrl.obj
        Referenced in CMDatabase.obj
        Referenced in CMDatabase.obj
        Referenced in CMSettings.obj
        Referenced in CMSettings.obj
        Referenced in AntennaSettings.obj
        Referenced in AntennaSettings.obj
        Referenced in AudioVideoSettings.obj
        Referenced in AudioVideoSettings.obj
        Loaded nafxcwd.lib(afxmem.obj)
nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *,int,char const *,int)" (??3@YAXPAXHPBDH@Z) already defined in tara_common.lib(fileStream.obj)**

请帮帮我,我已经浪费了 3 天的时间在网上寻找并尝试了所有可能的解决方案。

提前致谢, 新加坡

【问题讨论】:

    标签: c++ visual-studio-2008


    【解决方案1】:

    通常这意味着您尝试链接链接到不同版本的运行时库的可执行文件(.EXE 和 .DLL)。 (如果将 DLL 链接在一起或链接到 EXE 文件,通常应该使用 RTL 的动态版本。)

    【讨论】:

    • 非常感谢,我将运行时库更改为多线程调试 dll,并且编译良好。非常感谢。
    猜你喜欢
    • 2015-05-18
    • 2012-04-25
    • 1970-01-01
    • 2015-08-10
    • 2010-10-11
    • 2014-12-21
    • 2010-11-11
    相关资源
    最近更新 更多