c++ - Qt:调试和发布中 moc 输出的区别?

标签 c++ visual-studio qt

使用 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/

相关文章:

c++ - 如何在 QListWidget 中缩放自定义小部件?

c++ - 比较两个 QMap

C++ 为什么同一个变量的值不同?

c++ - OpenCV 将图像、关键点和描述符保存到文件

c# - ASP.NET 在 GridView 中配置更新按钮

c++ - 构建解决方案时使 Visual Studio 的 CMake 工具运行 INSTALL

c++ - C++中的API设计

sql-server - SQL server 计划任务发送 Excel 文件的最佳方式?

c++ - 在纯 Qt 应用程序中使用 KDE 系统主题

c++ - 如何将位置 n 的 QList 拆分为新的 QList