使用Qt Creator的,我在Qt中創建自定義插槽類:未定義的引用鏈接錯誤與信號和槽
class CustomEdit : public QTextEdit
{
Q_OBJECT
public:
CustomEdit(QWidget* parent);
public slots:
void onTextChanged();
};
不過,我得到這個連接錯誤:
undefined reference to 'vtable for CustomEdit'
該文件說:
if you get compiler errors along the lines of "undefined reference to vtable for LcdNumber", you have probably forgotten to run the moc or to include the moc output in the link command.
...但它並不明顯是什麼意思。
有什麼我需要添加到我的課,或.pro文件?
編輯 - 這是我的.pro文件:
QT += network \ script \ webkit \ xml TARGET = MyApp TEMPLATE = app SOURCES += main.cpp \ MainWindow.cpp \ CustomEdit.cpp HEADERS += MainWindow.h \ CustomEdit.h FORMS += mainwindow.ui
編輯:
This question涉及同樣的問題,但答案沒有說清楚怎麼可以在Qt Creator中修復這個問題。我是否需要將moc生成的.cpp文件顯式添加到要鏈接的文件列表中?這似乎是一種痛苦。
發佈您的.pro文件。 – 2010-06-10 01:29:59
你試過在SO裏搜索嗎? ;-) http://stackoverflow.com/questions/1552069/undefined-reference-to-vtable-trying-to-compile-a-qt-project – Jujjuru 2010-06-10 01:35:31
謝謝,但我沒有運行qmake,我正在使用Qt造物主 – 2010-06-10 01:39:05