Hi all.
I am using the Modern C++ API to integrate RTI Connext DDS with other (commercial) C++ software packages.
In my source code, I do:
#include <rti/rti.hpp>
as the only include referencing RTI Connext DDS.
In another SW package of which I do not own the code (being a C++ code scraper that generates garbage collection code from analyzing C++ code statically) there is:
enum AccessControl {
None, Private, Protected, Public, Package
};
After including file rti/rti.hpp the following is remaining:
enum AccessControl {
None, Private, Protected, ,
};
Looking at log_makeheader.h I found (line 21 and line 22 are the problematic ones):
#define Public
#define Package
#define Peer
#define RTI_PRIVATE static
#ifndef __cplusplus
#define public
#define package
#define peer
#define private static
#endif /* !__cplusplus */
Now, not knowing what the impact on RTI Connext DDS really is, bu moving the #ifndef __cplusplus just before the #define Public kind of is the solution to my problems. Any thoughts? What I am doing wrong?(This must have been noticed by others, I assume).
Thanks for looking into this!
Regards
Frank