Qt“忘记”链接我的一个“moc_MyClass.o”对象

Qt“忘记”链接我的一个“moc_MyClass.o”对象,qt,Qt,源文件显然在项目中,在我的其他类中 我为这个类定义了Q_对象,就像我的其他Qt类一样 我的类与其他类一起编译。然而,链接器在我的类的构造函数/析构函数的vtable上失败。检查linker命令:似乎从未生成或构建moc_Myclass.cpp。所以没有什么可以联系的 这怎么可能?为什么遗漏了它?令人不安的解决方案:当我从项目集中删除cpp/h文件,然后将它们添加回moc时,我的类开始正确生成,因此链接被传递 这显然是一个Qt项目癌症bug,但至少现在我知道如何治愈它。如果你使用qmake,我发现

源文件显然在项目中,在我的其他类中

我为这个类定义了Q_对象,就像我的其他Qt类一样

我的类与其他类一起编译。然而,链接器在我的类的构造函数/析构函数的vtable上失败。检查linker命令:似乎从未生成或构建moc_Myclass.cpp。所以没有什么可以联系的


这怎么可能?为什么遗漏了它?

令人不安的解决方案:当我从项目集中删除cpp/h文件,然后将它们添加回moc时,我的类开始正确生成,因此链接被传递


这显然是一个Qt项目癌症bug,但至少现在我知道如何治愈它。

如果你使用qmake,我发现有时会发生这种情况-使用make clean&&qmake&&make解决它。你使用的是哪种建筑系统qmake,cmake?您可以发布它吗?只是为了检查:您已经在.pro文件的标题部分声明了MyClass.h,对吗?最新的Qt创建者,OSX,qmake。Qt 4.7.4是。cpp和h位于标题和源部分。