从另一台机器导入Qt项目时moc_文件被破坏了吗?

时间:2013-06-15 12:59:50

标签: c++ qt

我下载了一个Qt项目,但是当我想编译它时,它在“发布”模式下出现以下错误:

  

moc_mainwindow.cpp:-1:错误:未定义引用'MainWindow :: on_pushButton_2_clicked()'moc_adminpage.cpp:-1:错误:   对'AdminPage :: on_pushButton_clicked()'

的未定义引用

根本不编译

在“调试”模式下它会编译并且exe运行但是它会发出以下警告:

  

QMetaObject :: connectSlotsByName:on_pushButton_clicked()没有匹配信号   QMetaObject :: connectSlotsByName:on_lineEdit_editingFinished()没有匹配的信号

当点击它时,注意到的“pushButton”没有做任何事情!

所以我对moc文件有点了解,但我从来没有真正对它们做任何事情。我猜他们有些不对劲。看起来Qt无法将我的on_pushButton_clicked()函数(插槽)连接到pushButton点击信号。

PS 1:“发布”部分中记录的错误发生在moc文件中。

PS 2:在第一行的每个moc文件中都有一个#include "../../FinalProject/mainwindow.h 这导致以下警告

  

没有这样的档案目录

这可能一定是它,但我该如何解决呢?

1 个答案:

答案 0 :(得分:0)

导致错误的原因是您已定义了广告位on_pushButton_clicked()on_lineEdit_editingFinished(),但您尚未使用它。 检查您的mainwindow.h并从private slots:部分删除这些广告位。