zoukankan      html  css  js  c++  java
  • “void * __cdecl operator new(unsigned int)”(??2@YAPAXI@Z) already defined in LIBCMTD.lib(new.obj)

    转自VC错误:http://www.vcerror.com/?p=1377

    问题描述:

    当 C 运行时 (CRT) 库和 Microsoft 基础类 (MFC) 库的链接顺序有误时,可能会出现以下 LNK2005 错误之一:

    nafxcwd.lib(afxmem.obj) :error LNK2005:

    “void * __cdecl operator new(unsigned int)”(??2@YAPAXI@Z) already

    defined in LIBCMTD.lib(new.obj)

    nafxcwd.lib(afxmem.obj) :error LNK2005:

    “void __cdecl operator delete(void *)”(??3@YAXPAX@Z) already defined

    in LIBCMTD.lib(dbgnew.obj)

    nafxcwd.lib(afxmem.obj) :error LNK2005:

    “void * __cdecl operator new(unsigned int,int,char const *,int)”

    (??2@YAPAXIHPBDH@Z) already defined in LIBCMTD.lib(dbgnew.obj)

    mfcs40d.lib(dllmodul.obj):error LNK2005:_DllMain@12 already defined in

    MSVCRTD.LIB (dllmain.obj)

    mfcs42d.lib(dllmodul.obj):error LNK2005:_DllMain@12 already defined in

    msvcrtd.lib(dllmain.obj)


    原因

    CRT 库对 new、delete 和 DllMain 函数使用弱外部链接。MFC 库也包含 new、delete 和 DllMain 函数。这些函数要求先链接 MFC 库,然后再链接 CRT 库。


    解决方法:

    详细的解决方法可参考http://www.vcerror.com/?p=1377

  • 相关阅读:
    Guava的学习2
    Guava的学习1
    数据结构
    二叉搜索树的第k个结点
    滑动窗口的最大值
    僵尸进程和孤儿进程
    fork和vfork,exec
    扑克牌顺子
    字符流中第一个不重复的字符
    表示数值的字符串
  • 原文地址:https://www.cnblogs.com/vcerror/p/4289002.html
Copyright © 2011-2022 走看看