在一个类(CMyListCtrl)中使用ADO访问数据库。该类的头文件的前几行是这样的:
#import "e:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF", "EndOfFile")#include <ole2.h>
#include <stdio.h>
#include <conio.h>编译有7个错误。如下:
ylistctrl.cpp
i:\projects\coaddress\debug\msado15.tlh(171) : error C2011: 'LockTypeEnum' : 'enum' type redefinition
i:\projects\coaddress\debug\msado15.tlh(214) : error C2011: 'DataTypeEnum' : 'enum' type redefinition
i:\projects\coaddress\debug\msado15.tlh(258) : error C2011: 'FieldAttributeEnum' : 'enum' type redefinition
i:\projects\coaddress\debug\msado15.tlh(279) : error C2011: 'EditModeEnum' : 'enum' type redefinition
i:\projects\coaddress\debug\msado15.tlh(287) : error C2011: 'RecordStatusEnum' : 'enum' type redefinition
i:\projects\coaddress\debug\msado15.tlh(530) : error C2011: 'ParameterDirectionEnum' : 'enum' type redefinition
I:\Projects\CoAddress\Mylistctrl.cpp(676) : error C2065: 'adLockOptimistic' : undeclared identifier
Error executing cl.exe.都是在一个叫msado15.tlh的文件中的错误,而且都是c2011错误~~~~
我在另外一个程序中也使用了这个类,没有出现这些问题。(这个类原来是在那个程序中进行设计的,由于某些原因需要移到当前的程序中使用)
个位大虾~有谁碰过这个问题!谢谢谢谢~~~~~~~~~
#import "e:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF", "EndOfFile")#include <ole2.h>
#include <stdio.h>
#include <conio.h>编译有7个错误。如下:
ylistctrl.cpp
i:\projects\coaddress\debug\msado15.tlh(171) : error C2011: 'LockTypeEnum' : 'enum' type redefinition
i:\projects\coaddress\debug\msado15.tlh(214) : error C2011: 'DataTypeEnum' : 'enum' type redefinition
i:\projects\coaddress\debug\msado15.tlh(258) : error C2011: 'FieldAttributeEnum' : 'enum' type redefinition
i:\projects\coaddress\debug\msado15.tlh(279) : error C2011: 'EditModeEnum' : 'enum' type redefinition
i:\projects\coaddress\debug\msado15.tlh(287) : error C2011: 'RecordStatusEnum' : 'enum' type redefinition
i:\projects\coaddress\debug\msado15.tlh(530) : error C2011: 'ParameterDirectionEnum' : 'enum' type redefinition
I:\Projects\CoAddress\Mylistctrl.cpp(676) : error C2065: 'adLockOptimistic' : undeclared identifier
Error executing cl.exe.都是在一个叫msado15.tlh的文件中的错误,而且都是c2011错误~~~~
我在另外一个程序中也使用了这个类,没有出现这些问题。(这个类原来是在那个程序中进行设计的,由于某些原因需要移到当前的程序中使用)
个位大虾~有谁碰过这个问题!谢谢谢谢~~~~~~~~~
解决方案 »
- 下面注册表信息是关于mapx的吗?
- 有谁用过skin美化....求救.....
- WM_PAINT与WM_ERASEBKGND的关系
- 求助,如何从CStringArray中每次读出10条CString并发送
- 牛人进来看下 ,网络传输文件问题
- 关于函数原型声明的疑惑???
- 获取Chart控件Label的Item并设置label,有原链接有分,有分!!急急急!!!!!!!!!!!!!!!!!
- 谁有多线程串口通信程序源码,我需要同时跟30个串口通信,谢谢了!
- 请教怎样从指定的行数开始读取文本里的数据
- 有那位高手知道CView:OnFilePrint()内部是怎样实现的,就是内部的调用顺序?
- 我给一个高档住宅小区写了个三维实景漫游软件,开发工具VC++ 、OpenGL,请问,应该开价多少?
- 痛苦的新手之:我究竟错在哪里了?
要么找找看还有在哪里定义了这些类型。
于是你的StdAfx.h中就有了如下两行:
#include <afxdb.h> // MFC ODBC database classes
#include <afxdao.h> // MFC DAO database 诸如 LockTypeEnum 等在以上文件中有定义,而在Import来的msado15.tlh文件中又对 LockTypeEnum 作了定义,那么当然会出现 redefinition了。解决方法:
删除在stdafx.h中的那两行。
#include ****
#import ***
#...
#endif这样这样的问题就会不出现了,特别是自己写的头文件。
#import "e:\Program Files\Common Files\System\ADO\msado15.dll" \ no_namespace rename("EOF", "EndOfFile")#include <ole2.h>
#include <stdio.h>
#include <conio.h>