My team and I are currently porting our game, Election Year Knockout, to Windows. We had to compile Cocos2d-x as a DLL in order to more easily utilize the framework on Windows, which means our Spine runtimes were also compiled to the same DLL.
So far this hasn't been an issue aside from one thing; some very light RTTI checks when we color certain attachments. These static RTTI variables are inaccessible from outside the DLL as far as I can tell, since they are static in a dynamic library. It does give me a compile error when I attempt to do something like this:
if(attachment->getRTTI().isExactly(spine::MeshAttachment::rtti)
More specifically I've determined that the cause of the compile error is:
spine::MeshAttachment::rtti
I did notice that attachment->getRTTI() works as intended and we can even get the name of the RTTI from that returned getRTTI() call.
So my question is if there is a way to get the static RTTI variables, or if you recommend we just do string comparisons in order to check the RTTI of a given attachment (note we iterate over all of the attachments of two spine objects at the start of every level).
Edit:
For further clarification this can be avoided by doing dynamic_cast to each Attachment type you need to access the member functions of, and then just doing a nullptr check before trying to use the casted variable. It is still curious as to the expected behavior of the static RTTI variables when building the spine runtimes as a DLL for Windows.