1
我目前正在用Qt编写一个小应用程序(4.7)。我使用嵌套的命名空间像如何在moc文件中使用级联命名空间?
namespace app {
namespace core {
class CoreClass {...}
}
}
因为我是一个豆蔻有点懒,我使用的符号持有开幕快捷键合的命名空间声明:
APP_START
class CoreClass {...}
APP_END
的符号的定义全局头文件。
到目前为止,这么好。它在编译时工作得很好。但是当moc生成器创建moc文件时,它错过了名称空间声明,并且在标准名称空间中生成方法。当不使用符号时,一切正常。
当我重新定义QT_BEGIN_MOC_NAMESPACE
符号时,编译器会在每个include上引发重定义警告。这确实有效,但我认为它不是很好。
这个问题有更好的解决方案吗?
我不认为就是这样,因为我使用的是Qt Creator。你找到为什么moc dosn't做替补的方法听起来不错。我正在关注那个。 – 2011-02-28 21:08:55
我正在玩Qt工具中的moc生成器。而且似乎没有办法告诉它解析预处理器指令。伤心。 – 2011-02-28 23:26:10
顺便说一句'Q_MOC_RUN'符号也不起作用。 – 2011-02-28 23:31:21