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