使用 Qt Visual studio 集成,添加新的 Qt 类会添加两个单独的 moc.exe 生成文件 - 一个用于调试,一个用于发布(另一个用于当前存在的任何其他配置)。然而,这两个最终生成的文件似乎是相同的。
另一方面,在添加 UI 类时,uic.exe 生成的文件没有这种分隔,并且对于所有配置都是相同的文件。
有没有人知道为什么每个配置都需要一个单独的 moc 文件?什么时候两者有区别?
最佳答案
我的猜测是需要单独的调试和发布版本,因为 moc 输出是从用户定义的源代码生成的。因此,如果预处理的类源在调试版本和发布版本之间不同(例如,仅存在于调试版本中的信号),则调试版本和发布版本之间的 moc 输出可能不同。
这不适用于 uic 生成的文件,因为这些文件是从 .ui XML 生成的,不能在调试和发布配置之间变化。
关于c++ - Qt:调试和发布中 moc 输出的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/185883/