编译动态DLL(其中调用了几个静态的DLL),出错:
msvcrtd.lib(MSVCRTD.dll) : warning LNK4006: _sprintf already defined in libcmt.lib(sprintf.obj); 
second definition ignored

解决方案 »

  1.   

    通过#ifdef ..#endf语句可以解决吗?
      

  2.   

    重复编译了
    改正方法:#ifndef ****
              #define ****
              #endif
      

  3.   

    msvcrtd.lib(MSVCRTD.dll) : error LNK2005: _sprintf already defined in libcmt.lib(sprintf.obj)
    msvcrtd.lib(MSVCRTD.dll) : error LNK2005: _atoi already defined in libcmt.lib(atox.obj)
      

  4.   

    下面翻译一段关于这个错误的文章,希望对你有所帮助
    可以使用链接器的/VERBOSE:LIB 开关来确定链接器所搜索的的库(property->linker->command line->additional options编辑框中加入/VERBOSE:LIB ),可以告诉链接器忽略不正确的链接器,在property->linker->Input->Ignore Specific Libary里输入不正确的运行库或者使用/NODEFAULTLIB:library 开关。
    下表显示根据你所用的运行库哪些是用忽略的
    To use this run-time library    Ignore these libraries
     
    Single-threaded (libc.lib)     libcmt.lib, msvcrt.lib, libcd.lib,
                                   libcmtd.lib, msvcrtd.lib
     
    Multithreaded (libcmt.lib)      libc.lib, msvcrt.lib, libcd.lib,
                                    libcmtd.lib, msvcrtd.lib
     
    Multithreaded using DLL (msvcrt.lib)    libc.lib, libcmt.lib, libcd.lib, 
                                            libcmtd.lib, msvcrtd.lib
     
    Debug Single-threaded (libcd.lib)       libc.lib, libcmt.lib, msvcrt.lib, 
                                            libcmtd.lib, msvcrtd.lib
     
    Debug Multithreaded (libcmtd.lib)       libc.lib, libcmt.lib, msvcrt.lib, 
                                            libcd.lib, msvcrtd.lib
     
    Debug Multithreaded using DLL (msvcrtd.lib)   libc.lib, libcmt.lib, msvcrt.lib,
                                              libcd.lib, libcmtd.lib例如如果你想创建一个使用non-debug, single-threaded版本的运行库,并收到了警告,可以使用下面的开关,(设置同/VERBOSE:LIB)
    /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libcmtd.lib /NODEFAULTLIB:msvcrtd.lib
      
      

  5.   

    下面的链接解决了LNK2005的问题
    http://support.microsoft.com/default.aspx?scid=kb;zh-cn;148652