1
プログラムをコンパイルすると、ld returned 1 exit status
エラーが発生します。ここでは、コード(main.cppに)は次のとおりです。Qtの作成者でcollect2:ldが1つの終了ステータスを返しました
#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
である私は、私が唯一のcppソースファイルを使用して、UIファイルを使用していませんでした。
は、あなたが「出力をコンパイル」ペインからすべてを貼り付けることができます読んで?そこに役立つエラーメッセージがあるかもしれません。 –
ヒント:自分のクラスに大文字のQと大文字の別の名前で始まる名前を決して与えないでください。これはQtの大会です。あなたはある時点で名前の衝突を覚悟しなければなりません。それはあなたのコードを見ている人にとっても非常に混乱します。 –
主な問題はQ_OBJECTマクロです。それを除く。私は正しい? –