Visual C ++ 2008,#include“afxdb.h”时出错

时间:2011-05-31 20:35:30

标签: visual-studio-2008 afx

我在使用adxdb.h时遇到了麻烦:

我试过

#include "afxdb.h"

但我收到了这个错误:

  

C:\ Program Files \ Microsoft Visual Studio 9.0 \ VC \ atlmfc \ include \ afx.h(24):致命错误C1189:#error:使用/ MD建立MFC应用程序[d](CRT dll版本)需要MFC共享DLL版本。请#define _AFXDLL或不要使用/ MD [d]

然后我添加了

#define _AFXDLL

正如错误消息所述,并得到了十几个错误:

  

C:\ Program Files \ Microsoft Visual Studio 9.0 \ VC \ atlmfc \ include \ afxole.h(1455):错误C2504:'CControlBar':基类未定义
1> C:\ Program Files \ Microsoft Visual Studio 9.0 \ VC \ atlmfc \ include \ afxole.h(1470):错误C2146:语法错误:缺少';'在标识符'm_tracker'之前   1> C:\ Program Files \ Microsoft Visual Studio 9.0 \ VC \ atlmfc \ include \ afxole.h(1470):错误C4430:缺少类型说明符 - 假定为int。注意:C ++不支持default-int
  1> C:\ Program Files \ Microsoft Visual Studio 9.0 \ VC \ atlmfc \ include \ afxole.h(1470):错误C4430:缺少类型说明符 - 假定为int。注意:C ++不支持default-int
  1> C:\ Program Files \ Microsoft Visual Studio 9.0 \ VC \ atlmfc \ include \ afxpriv.h(590):错误C2504:'CControlBar':基类未定义

关于如何做到这一点的任何想法? 附:我是Visual C ++的新手

3 个答案:

答案 0 :(得分:5)

不要直接添加#define _AFXDLL,而是通过项目配置设置间接添加:转到项目属性页面配置属性|一般|使用MFC,并确保将其设置为在共享DLL中使用MFC。

答案 1 :(得分:1)

要解决此问题,您需要打开Projects-> Proprties->配置属性>发生 - >使用MFC:在共享DLL中使用MFC。

(Visual Studio 2013) 你会很开心的!

答案 2 :(得分:0)

我有同样的问题并解决它我必须确保:

#include <afxcmn.h>

之前:

#include <afxdb.h>

所以:

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

很好,并且:

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

很糟糕。