I think I just answered my own question regarding whether I
can use the EXPORT macro in the header that declares the class being exported.
Since the EXPORT macro instantiates a static guid_initializer for the class,
including it in multiple source files creates multiple static objects and
results in link errors.
So at this point, I wonder, why bother with the EXPORT macro
at all? Given that the class has to be registered with the archive, why
not just use register_type when the archive is created? When I thought
the EXPORT macro allowed me to register the class in the same header where the
class is created, it seemed very useful. Now I guess I don’t see
any advantage of using EXPORT. Am I missing something?
Thomas Aylesworth
Senior Software Engineer
Reality Mobile