我使用qmake创建了一个项目,它自动为直接或间接继承QObject的类生成moc文件。但是,如果我添加一个继承QObject的新类,则QT插件在构建过程中不会生成MOC文件。我应该调整哪些设置,以便每次添加新的QObject文件时都可以自动执行此操作?
答案 0 :(得分:5)
如果您的自定义类没有自动moc'ed,您可能忘记在类声明中添加Q_OBJECT宏或将QObject作为在多重继承的情况下继承的第一个类(类的顺序)你的派生类继承了事情)。如果不是您的情况,您可能需要阅读:
http://truth2.wordpress.com/2010/09/04/custom-build-rules-for-qt-under-visual-studio-2010/
BTW:QT版本有其细微差别,因此如果您告知使用哪个版本,将会很有帮助。答案 1 :(得分:2)
我只是找到一种新的方法来处理添加新的.h / .cpp文件后生成的" no moc _ *。cpp文件"错误。
首先,您转到"解决方案资源管理器 - >右键单击新.h文件的属性页",然后将构建更改为"自定义构建工具"。
然后,你应该找到一个已成功生成" moc _ *"的.h文件,并复制"自定义构建工具 - >中的所有内容。一般"到新的.h文件设置页面。
之后,构建您的项目。
最后,添加生成的" moc _ *"归档到你的项目。
完成!现在你可以像往常一样构建它。