프로그래밍 노트

msado15.dll을 import하여 MFC로 DLL을 만들때 뜨는 형식 재정의 에러 해결 방법 본문

MFC TIP

msado15.dll을 import하여 MFC로 DLL을 만들때 뜨는 형식 재정의 에러 해결 방법

띠리 2007. 5. 17. 21:08
msado15.dll을 import하여 MFC로 DLL을 만들때 빌드하면
아래와 같은 형식 재정의 에러가 뜬다.

오류 1 error C2011: 'LockTypeEnum' : 'enum' 형식 재정의 d:\data\source\adll\adll\debug\msado15.tlh 228
오류 2 error C2011: 'DataTypeEnum' : 'enum' 형식 재정의 d:\data\source\adll\adll\debug\msado15.tlh 276
오류 3 error C2011: 'FieldAttributeEnum' : 'enum' 형식 재정의 d:\data\source\adll\adll\debug\msado15.tlh 321
오류 4 error C2011: 'EditModeEnum' : 'enum' 형식 재정의 d:\data\source\adll\adll\debug\msado15.tlh 343
오류 5 error C2011: 'RecordStatusEnum' : 'enum' 형식 재정의 d:\data\source\adll\adll\debug\msado15.tlh 352
오류 6 error C2011: 'ParameterDirectionEnum' : 'enum' 형식 재정의 d:\data\source\adll\adll\debug\msado15.tlh 616
오류 7 error C2065: 'adLockReadOnly' : 선언되지 않은 식별자입니다. d:\data\source\adll\adll\adll.cpp 101

위와 같은 에러가 뜨면 주저말고 stdafx.h 파일에 밑의 코드를 찾는다.

#ifndef _AFX_NO_DAO_SUPPORT

#include <afxdao.h>            // MFC DAO 데이터베이스 클래스입니다.

#endif // _AFX_NO_DAO_SUPPORT


위의 코드를 밑의 코드처럼 커맨트 처리하고 다시 리빌드하면 재정의 에러는 없어진다.
afxdao.h에도 같은 정의가 되어있나보다.

//#ifndef _AFX_NO_DAO_SUPPORT

//#include <afxdao.h>            // MFC DAO 데이터베이스 클래스입니다.

//#endif // _AFX_NO_DAO_SUPPORT






Comments