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 个退出状态”的主要内容,如果未能解决你的问题,请参考以下文章
错误:未找到架构 x86_64 的符号,collect2:ld 返回 1 退出状态
错误消息:在 crt1.10.6.ol 开始 ld:找不到符号 collect2:ld 返回 1 个退出状态
在使用 Qt 创建者创建一个非常简单的项目时遇到 Qt 中的“分段错误”
在 QT 创建者中,如何自动为 cpp 文件或整个项目中的所有方法添加断点?
Qt Creator中的OpenCV:无法连接创建者通信套接字/tmp/qt_temp.T32147/stub-socket:没有这样的文件或目录