J'ai un problème avec la compilation de mon projet via Visual Studio 2013. J'ai eu cette erreur de l'éditeur de liens:
LINK : fatal error LNK1104: cannot open file 'nafxcwd.lib'
Selon cette page , je dois utiliser MFC dans une bibliothèque partagée. Mais je n'utilise pas du tout le MFC.
Toutes mes bibliothèques et mon projet principal compilés avec les paramètres Use Standard Windows Libraries
. Ce problème se produit uniquement lorsque j'essaie de générer un projet via la chaîne d'outils Visual Studio 2013, mais que cette dernière a été construite avec succès avec la chaîne d'outils Visual Studio 2010.
P.S. le projet a été déplacé de Visual Studio 6.0 vers Visual Studio 2013.
Il semble que dans Microsoft Visual C++ 6.0 Édition Standard ne prend pas en charge la liaison statique avec les bibliothèques MFC, comme l'indique la page Microsoft. Mais dans Visual Studio 2013, vous pouvez établir un lien statique avec les bibliothèques Microsoft. Cliquez sur ce lien https://support.Microsoft.com/en-us/kb/243458 pour résoudre votre problème.
Pour modifier les paramètres de votre projet MFC afin de vous lier dynamiquement aux bibliothèques MFC, procédez comme suit: Ouvrez votre projet MFC.
En mettant à jour un projet VS 2008 qui n'utilisait pas du tout MFC, j'ai rencontré le même problème et je l'ai corrigé en effectuant ces trois étapes. S'il vous plaît voir la photo pour avoir un coup d'oeil sur les propriétés du projet (VS 2008) en surbrillance.
Ajoutez cette ligne #define _AFXDLL dans votre fichier stdafx.h
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#define _AFXDLL
Accédez à votre solution VS 2013 et ouvrez "Propriétés du projet -> C/C++ -> Génération de code -> Bibliothèque d'exécution" et remplacez la valeur par Débogage multi-thread DLL (/ MDd) (ajustez la configuration de votre version à Multi-threaded DLL (/ MD)} _, une fois que vous aurez terminé ces deux étapes, vous obtiendrez cette erreur de liaison.
erreur LNK1104: impossible d'ouvrir le fichier 'mfc120d.lib'
Maintenant, ici, vous devez définir le "Jeu de caractères" de votre projet sur Unicode au lieu de _MBCS
Maintenant, ouvrez "Propriétés du projet -> Général -> Valeurs par défaut du projet -> Jeu de caractères" et remplacez la valeur par {Utiliser le jeu de caractères Unicode}, cette partie nécessite désormais un peu plus de patience et de travail, vous devez changer les traits de votre chaîne wchar_t ou TCHAR dans vos fichiers source.
J'espère que cela résoudrait votre problème.
J'ai eu le même problème, sauf qu'il compilé sur une machine, mais pas une autre. Résolu en installant la bibliothèque MFC multi-octets pour Visual Studio 2013 comme suggéré dans: Erreur MBCS lors de la construction du projet C++ MFC avec Visual Studio