2011-05-31 3 views
3

J'ai du mal à utiliser adxdb.h:Visual C++ 2008, tandis que les erreurs #include "afxdb.h"

J'ai essayé de

#include "afxdb.h" 

Mais j'ai reçu cette erreur:

C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\afx.h(24) : fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]

Puis j'ajouté

#define _AFXDLL 

Comme moi l'erreur ssage dit, et a obtenu cette douzaine d'erreurs:

C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\afxole.h(1455) : error C2504: 'CControlBar' : base class undefined
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\afxole.h(1470) : error C2146: syntax error : missing ';' before identifier 'm_tracker'
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\afxole.h(1470) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\afxole.h(1470) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\include\afxpriv.h(590) : error C2504: 'CControlBar' : base class undefined

Des idées sur la façon de faire ce droit? P.S. Je suis nouveau à Visual C++

Répondre

5

Ne pas ajouter directement le #define _AFXDLL, à la place qui est ajouté indirectement par un paramètre de configuration de projet: accédez à vos pages de propriétés de projet | Propriétés de configuration | Général | Utilisez MFC et assurez-vous que est défini sur Utiliser MFC dans une DLL partagée.

+0

Si je vous aime, je reçois les mêmes messages d'erreur. – mindmaster

+0

Essayez un nettoyage, puis reconstruisez sur votre projet (s). Aussi, où avez-vous ajouté le '#include '? Je l'ai juste essayé dans une application de console, coincé dedans à côté des autres lignes #include dans le fichier d'en-tête précompilé, et cela fonctionne très bien. –

+0

a essayé de le faire - la même chose ( – mindmaster

0

j'ai eu le même problème et de le résoudre, je devais assurer que:

#include <afxcmn.h> 

est avant:

#include <afxdb.h> 

Alors:

#include <afxcmn.h> 
#include <afxdb.h> 

est bon et:

#include <afxdb.h> 
#include <afxcmn.h> 

Est mauvais.

1

Pour résoudre le problème, vous devez ouvrir Projets-> Proprties-> Propriétés de configuration> Génération-> Utilisation de MFC: utilisez MFC dans la DLL partagée.

(Visual Studio 2013) Et vous serez heureux!

+0

Ce qui précède ne résout pas mon problème. le chemin du menu doit être ...-> Propriétés de configuration> ** Général **> Utilisation de MFC ... –