2012-02-14 131 views
1

當我編譯我的程序時,我得到ld returned 1 exit status錯誤。下面是代碼(main.cpp中):「collect2:ld返回1退出狀態」在Qt創建者

#include <QtGui/QApplication> 
#include <QPushButton> 
#include <QHBoxLayout> 
#include <QLineEdit> 
#include "widget.h" 

int main(int argc, char *argv[]) 
{ 
QApplication app(argc, argv); 

QPushButton *okayButtom = new QPushButton("Okay"); 

QMainWin *mainWin = new QMainWin("Say Pig!"); 
QHBoxLayout *Hbox = new QHBoxLayout; 
QLineEdit *inputBox = new QLineEdit; 


mainWin->setWindowTitle("Hello, Pig!"); 
Hbox->addWidget(inputBox); 
Hbox->addWidget(okayButtom); 

mainWin->setLayout(Hbox); 
mainWin->show(); 

return app.exec(); 
} 

,這是widget.h

#ifndef WIDGET_H 
#define WIDGET_H 

#include <QtGui> 

class QMainWin : public QWidget 
{ 
Q_OBJECT 
private: 
QString WinTitle; 
public: 
QMainWin(const QString &title, QWidget *parent = 0):WinTitle(title) 
{ 
    this->setWindowTitle(WinTitle); 
} 

~QMainWin(); 
}; 

#endif // WIDGET_H 

我沒有使用UI文件,我只使用cpp源文件。

+0

可以粘貼一切從「編譯輸出」窗格中?在這裏可能會有一些有用的錯誤消息 – 2012-02-14 00:37:51

+0

提示:切勿給你自己的任何類添加一個以大寫字母Q開頭,後跟另一個大寫字母的名稱。這是Qt的慣例,你肯定會在某個時候發生名字衝突;對於任何查看代碼的人來說,這也很令人困惑。 – 2012-02-14 00:50:56

+0

您的主要問題是Q_OBJECT宏。去掉它。我對嗎? – 2012-02-14 01:20:25

回答

相關問題