AnsweredAssumed Answered

ArcObjects C++: #import order problems

Question asked by andreaspaulsen on Oct 31, 2013
Latest reply on Oct 31, 2013 by rlwatson
I am having a lot of problems with the #import of ESRI C++ libraries.
I am using precompiled headers:
stdafx.h:
#import <esriSystem.olb> raw_interfaces_only, raw_native_types, no_namespace, named_guids, auto_search , exclude("OLE_COLOR", "OLE_HANDLE", "VARTYPE") #import <esriSystemUI.olb> raw_interfaces_only, raw_native_types, no_namespace, named_guids, auto_search, exclude("IProgressDialog") // ...


The import order seem to be very important. Thing may work fine and then I add a new class where I need to use a new ESRI library and BOOM, I get a lot of strange compilation errors.

One common source of problems are interfaces that occur in both windows system libraries and ESRI libraries. For instance I might get a compilation error complaining about esriFramework::IPropertyPage not being defined. When I look trough the CC output I note that this was automatically excluded when importing the esriFramework.olb.

Any advice on how to prevent such problems?

Outcomes