2011-02-01 4 views
1

Je ne suis pas un développeur C++ donc soyez gentil avec moi.Erreur de construction C++ MFC mais le composant n'est PAS MFC

Je travaille sur un C++ héritage solution et j'ai ajouté un nouveau projet géré. Tous les autres projets ne sont pas gérés. Le nouveau projet est configuré comme Utilisation de MFC: 'Utiliser MFC dans une DLL partagée'.

J'ai aussi apporté quelques modifications à l'un des projets existants pour appeler mon nouveau code. Ceci est configuré comme 'Utiliser les bibliothèques Windows standard'.

Mon problème est que quand je tente de construire le projet existant avec mes changements que je reçois l'erreur suivante:

Erreur 1 erreur fatale C1189: #error: application du bâtiment MFC avec/MD [d] (dll CRT version) nécessite la version de DLL partagée MFC. Veuillez #definer _AFXDLL ou ne pas utiliser/MD [d]

Pourquoi le compilateur pense-t-il qu'il s'agit d'un projet MFC lorsqu'il est configuré comme 'Utiliser les bibliothèques Windows standard'?

+0

dans les paramètres du projet, quelle est la ligne de commande du compilateur? – onof

+0

Pourquoi votre projet * managed * (je suppose que vous voulez dire C++/CLI) utilise le MFC? –

+0

Cody: Ce n'est probablement pas nécessaire. Mais pourquoi cela affecte-t-il la compilation du projet non géré? – HammerIp

Répondre

0

Je suis à la recherche de définition MSDN de l'erreur (C1189: http://msdn.microsoft.com/en-us/library/y0tzt8e0%28v=vs.80%29.aspx) et il semble y avoir des problèmes de définition. Maintenant, la description de votre compilateur est ambiguë mais si vous corrigez les problèmes '#define', le compilateur peut pointer plus précisément vers d'autres problèmes.

Hope it helps, Sun

+0

Merci pour cela. Je n'ai pas encore eu le temps de regarder le lien mais je vais le mettre à jour dès que je le ferai. – HammerIp