I am getting a single error I've never encountered before, so I don't know how to go about finding the cause. The error is:
AxisStateMachine::AxisStateMachine() AxisStateMachine.cpp:9: warning: undefined reference to vtable for AxisStateMachine
Obviously, it has to do with virtual methods (of which there are many, plus several pure virtual classes as well, including the one in question), but I'm not clear on exactly what it means, or what to look for, and it's in a fairly complex hierarchy of classes.
Well, since the code is obviously too complex to post here (multiple files) then try to strip it down to an example which can be posted here. Either you will find the source of the problem or you can get something small enough that somebody else can look at it and quickly see the error.
Maybe the following could be helpful
Well, it turned out to be something simple, though the error message was no help. Turning on Verbose gave more information that pin-pointed the problem. There was a pure virtual method in the base class that was not implemented in some of the derived classes. I would have expected to see the error message reference those derived classes, but instead it referenced an intermediate class that was fine, and made no mention of either the base class, or the derived many classes that failed to implement the virtual method. I changed the base class method declaration from pure virtual to virtual with an empty implementation in the base class, did a clean build, and all is well.
Verbose mode often produces a lot of useless output, but in this case it was a life-saver.
That behaviour was described in the supplied link.