在visual studio 2010中为新的QOBJECT文件生成MOC

问题描述 投票:3回答:2

我使用qmake创建了一个项目,它自动为直接或间接继承QObject的类生成moc文件。但是,如果我添加一个继承QObject的新类,则QT插件在构建过程中不会生成MOC文件。我应该调整哪些设置,以便每次添加新的QObject文件时都可以自动执行此操作?

c++ visual-studio-2010 qt user-interface
2个回答
5
投票

如果你的自定义类没有自动moc'ed,你可能忘记在类声明中添加一个Q_OBJECT宏,或者把QObject作为在多重继承的情况下继承的第一个类(派生类的类的顺序)继承事项)。如果不是你的情况,你可能想读这个:

http://truth2.wordpress.com/2010/09/04/custom-build-rules-for-qt-under-visual-studio-2010/

顺便说一句:QT版本有其细微差别,因此如果您告知使用哪个版本,它会很有帮助。


1
投票

我只是找到了一种处理“添加新的.h / .cpp文件后生成的没有moc _ * .cpp文件”错误的新方法。

首先,转到“解决方案资源管理器 - >右键单击新.h文件的属性页”,然后将构建更改为“自定义构建工具”。

然后,您应该找到一个已成功生成“moc_ *”的.h文件,并将“自定义生成工具 - >常规”中的所有内容复制到新的.h文件设置页面。

之后,构建您的项目。

最后,将生成的“moc_ *”文件添加到项目中。

完成!现在你可以像往常一样构建它。

© www.soinside.com 2019 - 2024. All rights reserved.