gpt4 book ai didi

c++ - 如何在 moc 文件中使用级联命名空间?

转载 作者:太空宇宙 更新时间:2023-11-04 14:24:34 26 4
gpt4 key购买 nike

我目前正在使用 Qt (4.7) 编写一个小型应用程序。我使用嵌套的命名空间,比如

namespace app {
namespace core {
class CoreClass {...}
}
}

因为我有点懒,所以我使用符号作为快捷方式来保存开始和结束命名空间声明:

APP_START
class CoreClass {...}
APP_END

符号在全局头文件中定义。

到目前为止,还不错。它在编译时完美运行。但是当 moc 生成器创建 moc 文件时,它错过了 namespace 声明,并且在标准 namespace 中生成了方法。当不使用符号时,一切正常。

当我重新定义 QT_BEGIN_MOC_NAMESPACE 符号时,编译器会在每次包含时抛出重新定义警告。这确实有效,但我认为它不是很好。

这个问题有更好的解决方案吗?

最佳答案

首先,我会找出为什么 moc 没有进行宏替换。也许-我错了?

其次,你可以尝试给moc加上-D参数。可能是这样的:moc "-DAPP_BEGIN=namespace app { namespace core {"

关于c++ - 如何在 moc 文件中使用级联命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5134185/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com