Qt 创建者中的“collect2:ld 返回 1 个退出状态”
Posted
技术标签:
【中文标题】Qt 创建者中的“collect2:ld 返回 1 个退出状态”【英文标题】:"collect2: ld returned 1 exit status" in Qt creator 【发布时间】:2012-02-14 00:26:48 【问题描述】:当我编译我的程序时,我得到ld returned 1 exit status
错误。这是代码(main.cpp):
#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源文件。
【问题讨论】:
您可以粘贴“编译输出”窗格中的所有内容吗?那里可能有一些有用的错误消息 小贴士:永远不要给自己的任何类起一个以大写 Q 开头,后跟另一个大写字母的名称。这是 Qt 的约定,您一定会在某些时候遇到名称冲突;对于查看您的代码的任何人来说,这也很令人困惑。 您的主要问题是 Q_OBJECT 宏。去掉它。我说的对吗? 【参考方案1】: 为析构函数定义一个主体或删除声明~QMainWin(); 删除宏 Q_OBJECT; 在初始化列表中添加QWidget(parent)
构造函数。
阅读此http://doc.trolltech.com/4.3/tutorial-t4.html
【讨论】:
以上是关于Qt 创建者中的“collect2:ld 返回 1 个退出状态”的主要内容,如果未能解决你的问题,请参考以下文章