Задайте вопросЗадайте вопрос
 

ОтвеченоProblem in creating Exe using MFC in static LIb

  • 10 мая 2009 г. 21:19nsham Медали пользователяМедали пользователяМедали пользователяМедали пользователяМедали пользователя
     
    Hi All,

     I have application which was using MFC dynamic lib but with this when i create the MFC application(exe) it is depend the MFC dll (I cannot runs this with MFC installed). So to make it DLL independent i switched to MFC static lib.. With this configuration i getting the following

    MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fread already defined in libcmt.lib(fread.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: _sprintf already defined in libcmt.lib(sprintf.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fwrite already defined in libcmt.lib(fwrite.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fflush already defined in libcmt.lib(fflush.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: _getenv already defined in libcmt.lib(getenv.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: _malloc already defined in libcmt.lib(malloc.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: _free already defined in libcmt.lib(free.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: _exit already defined in libcmt.lib(crt0dat.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: __errno already defined in libcmt.lib(dosmap.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fprintf already defined in libcmt.lib(fprintf.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: _memmove already defined in libcmt.lib(memmove.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fputs already defined in libcmt.lib(fputs.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: _printf already defined in libcmt.lib(printf.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: _strncmp already defined in libcmt.lib(strncmp.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: __strnicmp already defined in libcmt.lib(strnicmp.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: __snprintf already defined in libcmt.lib(snprintf.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: _toupper already defined in libcmt.lib(toupper.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: _tolower already defined in libcmt.lib(tolower.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fclose already defined in libcmt.lib(fclose.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: _strncpy already defined in libcmt.lib(strncpy.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: _setlocale already defined in libcmt.lib(setlocal.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fopen already defined in libcmt.lib(fopen.obj)
    MSVCRT.lib(MSVCRT.dll) : error LNK2005: __setmode already defined in libcmt.lib(setmode.obj)
    LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library
    LINK : warning LNK4098: defaultlib "MSVCRT" conflicts with use of other libs; use /NODEFAULTLIB:library
    ..\PC\Release\MPEG4VideoPlayerStreamer.exe : fatal error LNK1169: one or more multiply defined symbols found
    Error executing link.exe.

    Thanks
    shiv

Ответы

Все ответы