В настоящее время я пишу небольшое приложение с Qt (4.7).И я использую вложенные пространства имен, такие как
namespace app {
namespace core {
class CoreClass {...}
}
}
Поскольку я немного ленив, я использую символы для ярлыков, которые содержат объявления открытия и закрытия пространства имен:
APP_START
class CoreClass {...}
APP_END
Символыопределены в глобальном заголовочном файле.
Пока все хорошо.Он прекрасно работает во время компиляции.Но когда генератор moc создает файлы moc, он пропускает объявления пространства имен, и методы генерируются в стандартном пространстве имен.Когда символы не используются, все работает нормально.
Когда я переопределяю символ QT_BEGIN_MOC_NAMESPACE
, компилятор выдает предупреждение переопределения при каждом включении.Это действительно работает, но я думаю, что это не очень хорошо.
Есть ли лучшее решение для этой проблемы?