Je suis sûr qu'il ya un certain nombre de raisons cela pourrait se produire - le pire que j'ai jamais trouvé était en essayant d'intégrer un certain nombre de bibliothèques statiques (le nôtre) qui étaient à l'origine DLLS (en fait, nous construire les projets en tant que bibliothèques statiques DLL &). Notre DLL C++/CLI utilisait les versions statiques de ces bibliothèques (pour éviter les problèmes de dépendance DLL qui provoquaient des problèmes de chargement ASP.NET lorsque la DLL C++/CLI était utilisée) et voyait initialement la même erreur de l'éditeur de liens.
Le problème s'est avéré être l'utilisation de AFX_MANAGE_STATE (AfxGetStaticModuleState()) macro nécessaire lorsque le code a été généré en tant que DLL, mais pas réellement nécessaire pour l'appel de bibliothèque statique.
Pour résoudre ce problème, j'ai fini par ajouter le code suivant au fichier stdafx.h de chaque projet.
#ifdef OMUTILITIES_LINK_STATIC
#undef AfxGetStaticModuleState
#define AfxGetStaticModuleState AfxGetModuleState
#endif
Ceci, bien sûr, ne peut pas être votre problème spécifique. Mais la façon dont je l'ai finalement compris était en activant l'option/VERBOSE pour l'éditeur de liens et en voyant qui, quoi, où & quand il tirait dans les bibliothèques d'exécution. (Propriétés du projet/Propriétés de configuration/Lieur/Afficher la progression dans vs2005)
Je reçois une erreur lors de la liaison, ce que je n'ai pas obtenu en vc6, –
Cette question est à peine tolérable en raison de la grande édition de Rich B. La question est très localisée. – mmcdole
Désolé de demander, mais pourquoi voudriez-vous passer d'une technologie de 10 ans à une technologie encore plus ancienne? –