0

J'ai un projet COM ATL qui compilait correctement dans VC6, ce qui provoque les erreurs suivantes de l'éditeur de liens lors de la compilation dans VS2008.Erreur de liaison 2005, 2001 dans Visual Studio 2008

error LNK2005: "void * __cdecl operator new(unsigned int)" ([email protected]@Z) already defined in libcmt.lib(new.obj) File: uafxcw.lib

Il y a trois autres erreurs similaires pour delete, new[] et delete[].

J'ai vérifié plusieurs articles sur le net et la plupart d'entre eux disent qu'il s'agit d'un conflit entre les DLL CRT et MFC. (Ordre dans lequel ils sont ramassés). Un article suggère d'ajouter la bibliothèque conflictuelle à la liste des bibliothèques ignorées dans les paramètres du projet.

Ce faisant, je reste avec une erreur:

error LNK2001: unresolved external symbol __afxForceEXCLUDE File:LMAN.Lib

Les points d'erreur à une lib qui est référencé par ce projet (un lib développé par nous).

Des idées pour résoudre ce problème? Je suis sûr que ce serait un problème commun pour les personnes migrant vers VS 2008.

Répondre

1

Résolu.

Il n'était pas nécessaire d'exclure uafxcw.lib. Je devais juste m'assurer que les DLL MFC n'étaient pas utilisées. Notre lib LMAN.lib utilisait Afxdisp.h (une DLL MFC) qui n'était pas nécessaire. J'ai retiré l'inclusion de ce projet, puis le tour est joué! - La construction a réussi.

Questions connexes