Standard library (msvcrt.lib vs libcmtd.lib) conflicts

I’m trying to link SDL in Visual Studio 2012, and getting some errors:

Code:
2>msvcrt.lib(ti_inst.obj) : error LNK2005: “private: __thiscall type_info::type_info(class type_info const &)” (??0type_info@@AAE at ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)
2>msvcrt.lib(ti_inst.obj) : error LNK2005: “private: class type_info & __thiscall type_info::operator=(class type_info const &)” (??4type_info@@AAEAAV0 at ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)
2>msvcrt.lib(MSVCR110.dll) : error LNK2005: _exit already defined in LIBCMTD.lib(crt0dat.obj)
2>msvcrt.lib(MSVCR110.dll) : error LNK2005: _isspace already defined in LIBCMTD.lib(_ctype.obj)
2>msvcrt.lib(MSVCR110.dll) : error LNK2005: _fprintf already defined in LIBCMTD.lib(fprintf.obj)
2>msvcrt.lib(MSVCR110.dll) : error LNK2005: ___iob_func already defined in LIBCMTD.lib(_file.obj)
2>LIBCMTD.lib(crt0init.obj) : warning LNK4098: defaultlib ‘msvcrt.lib’ conflicts with use of other libs; use /NODEFAULTLIB:library
2>C:\source\enginepp\Debug GL1\srpg.exe : fatal error LNK1169: one or more multiply defined symbols found

My runtime is set to Multi-threaded debug, and I’m linking SDL2main.lib; SDL2.lib

You may just want to rebuild SDL2main.lib from source with your C runtime
settings.On Fri, Sep 20, 2013 at 1:39 PM, zacaj wrote:

**
I’m trying to link SDL in Visual Studio 2012, and getting some errors:

Code:

2>msvcrt.lib(ti_inst.obj) : error LNK2005: “private: __thiscall
type_info::type_info(class type_info const &)” (??0type_info@@AAE at ABV0@@Z)
already defined in LIBCMTD.lib(typinfo.obj)
2>msvcrt.lib(ti_inst.obj) : error LNK2005: “private: class type_info &
__thiscall type_info::operator=(class type_info const &)” (??4type_info@
@AAEAAV0 at ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)
2>msvcrt.lib(MSVCR110.dll) : error LNK2005: _exit already defined in
LIBCMTD.lib(crt0dat.obj)
2>msvcrt.lib(MSVCR110.dll) : error LNK2005: _isspace already defined in
LIBCMTD.lib(_ctype.obj)
2>msvcrt.lib(MSVCR110.dll) : error LNK2005: _fprintf already defined in
LIBCMTD.lib(fprintf.obj)
2>msvcrt.lib(MSVCR110.dll) : error LNK2005: ___iob_func already defined in
LIBCMTD.lib(_file.obj)
2>LIBCMTD.lib(crt0init.obj) : warning LNK4098: defaultlib 'msvcrt.lib’
conflicts with use of other libs; use /NODEFAULTLIB:library
2>C:\source\enginepp\Debug GL1\srpg.exe : fatal error LNK1169: one or more
multiply defined symbols found

My runtime is set to Multi-threaded debug, and I’m linking SDL2main.lib;
SDL2.lib


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org