我下载了一个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
这导致以下警告
没有这样的档案目录
这可能一定是它,但我该如何解决呢?
答案 0 :(得分:0)
导致错误的原因是您已定义了广告位on_pushButton_clicked()
和on_lineEdit_editingFinished()
,但您尚未使用它。
检查您的mainwindow.h
并从private slots:
部分删除这些广告位。