我在使用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 ++的新手
答案 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>
很糟糕。