2010-12-14 94 views
0

J'ai un peu de mal à créer mon application en tant que version dans Visual Studio 2008. Elle se construit correctement sans erreur ni avertissement en tant que débogage. L'application est principalement Win32 avec un peu de MFC et ATL mélangés ici et là. La plupart des projets de la solution génèrent un LIB et une DLL.Problèmes de création d'une application en tant que version dans Visual Studio 2008 - C++

Ceci est l'une des erreurs que je reçois:

C1189 d'erreur fatale: #error: application du bâtiment MFC avec/MD [d] (version dll CRT) nécessite la version MFC dll partagée. S'il vous plaît #define _AFXDLL ou ne pas utiliser/MD [d]

Mon application est une DLL multithread, de sorte que les besoins /MD de rester. Le seul Windows inclut sont les suivants:

#include "stdafx.h" 
#include "afx.h" 
#include "WMIQuery.h" 
#include "SerialPort.h" 

L'autre erreur est la suivante:

C1083 erreur fatale: Impossible d'ouvrir le fichier à inclure: 'WMIQuery.h': Aucun fichier ou répertoire

Celui-ci n'a vraiment aucun sens pour moi, car l'environnement n'a aucun problème à trouver ce fichier de construction pour Debug.

Est-ce que quelqu'un sait comment résoudre ce problème? Si des informations supplémentaires sont nécessaires, il suffit de le dire, et je posterai. Merci.

+0

Libérer et déboguer utiliser des environnements différents, afin de pouvoir trouver un en-tête dans le débogage ne signifie rien en ce qui concerne le trouver en mode de libération. – stonemetal

Répondre

1

Les modifications de propriété de projet que vous avez apportées pour l'obtenir dans la configuration de débogage ne sont pas automatiquement appliquées à la configuration Release. Notez le combo "Configuration" dans le coin supérieur gauche de la boîte de dialogue. Les valeurs de propriété modifiées sont indiquées en gras.

Si vous ne vous souvenez pas des modifications que vous avez apportées, ouvrez le fichier .vcproj dans un éditeur de texte tel que Notepad.exe. Les paramètres qui ont été modifiés à partir de leur valeur par défaut sont répertoriés dans la section Configuration de débogage | Win32.

0

Revérifiez vos variables d'environnement. Je crois qu'il utilise des valeurs séparées pour le débogage et la libération.

1

La première erreur est très probablement une discordance dans les paramètres de votre projet. Comme vous avez besoin de/MD, vérifiez les propriétés de configuration de votre projet pour la publication, sous l'en-tête «Général». Il devrait y avoir un élément "Utilisation de MFC". Cela doit être défini sur "Utiliser MFC dans une DLL partagée".

La deuxième erreur est probablement due à une non-concordance dans les chemins d'inclusion entre les deux configurations.