linking failure with digiKam and nmake

Peter Kümmel syntheticpp at gmx.net
Fri Sep 3 15:08:35 CEST 2010


On 03.09.2010 14:56, Gilles Caulier wrote:
> 2010/9/3 Peter Kümmel <syntheticpp at gmx.net>:
>> On 03.09.2010 14:07, Gilles Caulier wrote:
>>> msvcrt.lib(ti_inst.obj) : error LNK2005: "private: __thiscall
>>> type_info::type_info(class type_info const &)" (??0type_info@@AAE at ABV0
>>> @@Z) dÚjÓ dÚfini(e) dans LIBCMT.lib(typinfo.obj)
>>> msvcrt.lib(ti_inst.obj) : error LNK2005: "private: class type_info &
>>> __thiscall type_info::operator=(class type_info const &)" (??4t
>>> ype_info@@AAEAAV0 at ABV0@@Z) dÚjÓ dÚfini(e) dans LIBCMT.lib(typinfo.obj)
>>>    CrÚation de la bibliothÞque ..\..\bin\digikam.lib et de l'objet
>>> ..\..\bin\digikam.exp
>>> LIBCMT.lib(crt0init.obj) : warning LNK4098: conflit entre la
>>> bibliothÞque par dÚfaut 'msvcrt.lib' et les autres bibliothÞquesá;
>>
>> Now you mix static runtime library (LIBCMT.lib) with dynamic (msvcrt.lib),
>> therefore the multiple defined symbols.
> 
> Why ? what's LIBCMT.lib ?
> 
> Gilles

Why? Some library you link against doesn't use msvcrt.lib but LIBCMT.lib.

msvcrt.lib andLIBCMT.lib are the equivalents to glibc under linux.
You could use the shared library of glibc (msvcrt.lib), or link all code of
glibc into your binary (when using LIBCMT.lib), then ldd woulnd't list
libc.so.

Peter


More information about the Kde-windows mailing list