J'ai ce problème très étrange lors de la compilation du projet. MOC semble ajouter un espace de nom au nom de la classe en train d'être mocé, bien qu'il ne soit mentionné nulle part dans le fichier/classe.MOC ajouter un espace de noms aux noms de classes
L'espace de noms, cependant, existe dans une bibliothèque que je l'utilise, mais il est caché loin dans les fichiers d'en-tête et je ne l'utilisez pas dans les fichiers de l'interface utilisateur. C'est ce que MOC génère:
const QMetaObject SmpTl::CaptureController::staticMetaObject = {
{ &QObject::staticMetaObject, qt_meta_stringdata_SmpTl__CaptureController,
qt_meta_data_SmpTl__CaptureController, 0 }};
L'espace de noms SmpTl est mentionné nulle part dans la déclaration de CaptureController, mais il apparaît dans le fichier .cpp généré MOC. J'utilise Visual Studio avec l'intégration QT.
J'ai trouvé le problème, il était un manque « " » dans le code asm de certains fichiers d'en-tête loin dans la liste d'inclusion. Le code a été # ifdef'ed seulement pour l'architecture MIPS, de sorte que le compilateur ne se plaignaient pas les disparus ", mais d'une manière ou d'une autre le MOC est devenu confus. – Florin