Seite 1 von 1

[gelöst] MOC + Namespaces (Qt 4.2.2)

Verfasst: 18. September 2007 09:02
von stefan81
Hallo zusammen,

ich habe das Problem, dass der MOC nicht mit Klassen zurecht kommt, die sich in namespaces befinden.

Beispiel:

Code: Alles auswählen

namespace A
{
  class Test : public QObject
  {
    Q_OBJECT
    …
  
  };
}
Das resultierende MOC-File ist nicht kompilierfähig, weil der MOC den namespace nicht erkennt und der Compiler daher meldet, er kennt Klasse 'Test' im MOC-File nicht.

Hat jemand das selbe Problem bzw. kennt jemand einen Lösung dafür?

Ein globales 'using namespace A;' möchte ich nicht verwenden, da wir die namespaces nur in den Methoden öffnen, in denen sie gebraucht werden.

Danke für eure Antworten.

Stefan

Verfasst: 18. September 2007 23:07
von FlorianBecker
Mh, welche Art von Antwort erwartest du hier?

Wir arbeiten täglich mit namespaces und es klappt. Ich kann jetzt mal nix falsches an deinem Example sehen. Bitte poste die Originalquellen mit Originalfehlern.

Verfasst: 19. September 2007 07:22
von stefan81
Habe das Problem gefunden. Wir verwenden Macros (#defines) zum Öffnen/Schließen von Namespaces, diese Macros erkennt der MOC natürlich nicht als Namespace und erstellt das MOC-File entsprechend falsch.

Habe die Macros ersetzt und den Namespace konventionell geöffnet, jetzt funktioniert es.

Ciao.