[CONNECT C++] _config-eccp.h

Occasionally, usually when setting up a new C++ project, I see this error from IntelliSense and the C++ compiler: cannot open source file "_config-eccp.h" (dependency of "Mstn/MdlApi/MdlApi.h").  It's sole mention is  in include file _config.h...

#if    defined (__EDG__)                \
    && !defined (__DECCXX)              \
    && !defined (__HP_aCC)              \
    && !defined (__INTEL_COMPILER)      \
    && !defined (_SGI_COMPILER_VERSION)
   // FIXME: make this more robust by detecting the EDG eccp demo
   // during library configuration (and avoid relying on compiler
   // specific macros)
#  include "_config-eccp.h"
#endif   // __EDG__

IntelliSense is correct: file _config-eccp.h is not part of the SDK: it doesn't exist.

Presumably something (the VC++ compiler?) is defining macro __EDG__, but those other macros are all undefined.  Judging by the comment, someone in Bentley Systems development planned to do something about this, but hasn't yet got around to it.

What can I do to suppress that message?  Is it safe simply to #undefine __EDG__?

Parents
  • Hi ,

    Though not ideal, if you have an application/common library header, then you can include this there or directly in your .cpp file having issue.  As Jan mentions, I am looking into improving the MicroStation SDK by eventually removing the 8DOT3 name requirements that are known to cause issues with IntelliSense. If this issue is not resolved by those changes, then a separate defect will be filed to address this issue as well.

    // Need to undefine __EDG__ to work-around intellisense error
    // Prevents config-eccp.h error
    #ifdef __EDG__
        #undef __EDG__
    #endif 

    HTH,
    Bob



Reply
  • Hi ,

    Though not ideal, if you have an application/common library header, then you can include this there or directly in your .cpp file having issue.  As Jan mentions, I am looking into improving the MicroStation SDK by eventually removing the 8DOT3 name requirements that are known to cause issues with IntelliSense. If this issue is not resolved by those changes, then a separate defect will be filed to address this issue as well.

    // Need to undefine __EDG__ to work-around intellisense error
    // Prevents config-eccp.h error
    #ifdef __EDG__
        #undef __EDG__
    #endif 

    HTH,
    Bob



Children