[펌]C++ import 에러 발생상황

http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=51&MAEULNo=20&no=5779&ref=5779


stdafx.h 에 #import "c:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace

하고 컴파일을 시키게 되면 아래와 같은 에러가 발생합니다.

d:\project\real\windows\metran\debug\msado15.tlh(1317) : error C2629: unexpected 'short ('
d:\project\real\windows\metran\debug\msado15.tlh(1317) : error C2238: unexpected token(s) preceding ';'

이것은 EOF 와 ADOEOF 간의 name 충돌에 의한 현상이라고 하더군요..

해결하기 위해서는 아래와 같이 EOF의 충돌을 방지하기 위해 adoEOF나 ADOEOF 등과 같이 누가 보아도 알기 쉽게 바꾸어주시면 좋겠죠..

참고적으로 KSEOF(제 이름 이니셜에다가.. --;) 이런식으로 해주시면 코딩해놓고 욕먹습니다.

가급적이면 자기만 알 수 있는 코딩은 안하는게 좋겠죠.. ^^;

#import "c:\Program Files\Common Files\System\ADO\msado15.dll"  no_namespace rename("EOF", "adoEOF") rename("BOF", "adoBOF")

이런식으로 하게 되면 EOF 간의 name 충돌은 없어지게 됩니다.

Leave a Reply

Your email address will not be published. Required fields are marked *

 characters available

53 + = 55