I believe I found a bug in Semantic, when 2 namespaces are nested like this in a header file :
// some classes
and then used in a cpp file like this :
using namespace animals;
using namespace cats;
Semantic doesn't understand that namespace cats is actually animals::cats, and it doesn't find any of the objects defined there.
After browsing Semantic's source code I found function semantic-calculate-scope, which doesn't fill the classes of cats in the :fullscope slot.
I tried overriding this function and adding the classes myself ; then semantic-ia-fast-jump and semantic-complete-symbol started to work on those.