Errore di compilazione

di il
1 risposte

Errore di compilazione

Salve,
sto utilizzando le librerie ClanLib in visual c++ 6 e quando compilo un sorgente mi da questi errori :

MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _malloc already defined in LIBCMTD.lib(dbgheap.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _free already defined in LIBCMTD.lib(dbgheap.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _abort already defined in LIBCMTD.lib(abort.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _sprintf already defined in LIBCMTD.lib(sprintf.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _strncpy already defined in LIBCMTD.lib(strncpy.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _fread already defined in LIBCMTD.lib(fread.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _fwrite already defined in LIBCMTD.lib(fwrite.obj)
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _fflush already defined in LIBCMTD.lib(fflush.obj)

lo so che è un problema molto specifico ma se qualcuno mi può aiutare mi rende troppo felice perchè è da 2 giorni che faccio ricerche in merito.
Se servono altre delucidazioni non esitate a chiederle.
Grazie anticipatamente

1 Risposte

  • Re: Errore di compilazione

    Ciao,

    Non conosco le ClanLib, comunque per un motivo o per l'altro stai sovrapponendo la Common Runtime di debug dell'MSVC (MSVCCRTD) con le librerie standard multithread di debug (LIBCMTD)... la cosa può capitare quando si usano librerie di terze parti contenenti codice C stretto. Il problema deriva dal fatto che alcune delle funzioni (quelle che vedi nella lista) sono presenti in entrambe.

    Prova ad evitare la libcmtd o la msvcrtd (in uno dei due casi otterrai altri errori di linking, nell'altro caso è possibile che la compilazione vada a buon fine)... per fare ciò, vai nelle proprietà del progetto->Linker->Input ed inserisci LIBCMTD.LIB (o l'altra) nel box "Ignora libreria specifica"... ovviamente se passi da debug a release dovrai cambiare i nomi (che sono privi della D - debug - finale)

    Ciaociao
Devi accedere o registrarti per scrivere nel forum
1 risposte