Duilib Demo 컴파일 오류: (error C2371: "IDispatchEx": 재정의, 다른 기본 유형)

Duilib Demo Time 오류를 VS2010으로 컴파일합니다.
-------------------------------------------------------------------------------------
1>f:\duilib\duilib\Control/UIFlash.h(10): warning C4192: 형식 라이브러리 "ISERviceProvider"가져오기 시 "..\Utils/Flash11.tlb"자동 제외
1>  UIWebBrowser.cpp
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\dispex.h(217): error C2371: "IDIspatchEx": 재정의;다른 기본 유형
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\dispex.h(53): IDispatchEx 선언 참조
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\dispex.h(435): error C2872: "IDIspatchEx": 불명확한 기호
1>은(는) "c:\program files(x86)\microsoft sdks\windows\v7.0a\include\dispex.h(217):IDispatchEx"일 수 있습니다.
1> 또는 "f:\duilib\duild\debug\flash11.tlh(297): ShockwaveFlashObjects::IDispatchEx"
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\dispex.h(869): error C2872: "IDIspatchEx": 불명확한 기호
1>은(는) "c:\program files(x86)\microsoft sdks\windows\v7.0a\include\dispex.h(217):IDispatchEx"일 수 있습니다.
1> 또는 "f:\duilib\duild\debug\flash11.tlh(297): ShockwaveFlashObjects::IDispatchEx"
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\dispex.h(887): error C2872: "IDIspatchEx": 불명확한 기호
1>은(는) "c:\program files(x86)\microsoft sdks\windows\v7.0a\include\dispex.h(217):IDispatchEx"일 수 있습니다.
1> 또는 "f:\duilib\duild\debug\flash11.tlh(297): ShockwaveFlashObjects::IDispatchEx"
1>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\mshtml.h(4715): error C2872: "IDIspatchEx": 불명확한 기호
1>은(는) "c:\program files(x86)\microsoft sdks\windows\v7.0a\include\dispex.h(217):IDispatchEx"일 수 있습니다.
1> 또는 "f:\duilib\duild\debug\flash11.tlh(297): ShockwaveFlashObjects::IDispatchEx"
1>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\mshtml.h(4738): error C2872: "IDIspatchEx": 불명확한 기호
1>은(는) "c:\program files(x86)\microsoft sdks\windows\v7.0a\include\dispex.h(217):IDispatchEx"일 수 있습니다.
1> 또는 "f:\duilib\duild\debug\flash11.tlh(297): ShockwaveFlashObjects::IDispatchEx"
-------------------------------------------------------------------------------------
해결 방법:
\DuiLib\Control\UIFlash.h 중하행
#import "..\Utils/Flash11.tlb" raw_interfaces_only, named_guids

다음으로 변경:
#if _MSC_VER<=1500     //vs2008
    #import "..\Utils/Flash11.tlb" raw_interfaces_only, named_guids
#elif _MSC_VER<=1600   //vs2010
    #import "PROGID:ShockwaveFlash.ShockwaveFlash"  \
        raw_interfaces_only,       /* Don't add raw_ to method names */ \
        named_guids,           /* Named guids and declspecs */    \
        rename("IDispatchEx","IMyDispatchEx")/* fix conflicting with IDispatchEx ant dispex.h */  
#else                  //vs2013
    #import "PROGID:ShockwaveFlash.ShockwaveFlash"  \
        raw_interfaces_only,       /* Don't add raw_ to method names */ \
        named_guids,           /* Named guids and declspecs */    \
        rename("IDispatchEx", "IMyDispatchEx")/* fix conflicting with IDispatchEx ant dispex.h */\
        rename("ICanHandleException", "IMyICanHandleException")
#endif

좋은 웹페이지 즐겨찾기