私はMinGWコンパイラを使用して、C++でQtに簡単なGUIアプリケーション(これまでのもの)を作成しようとしています。しかし、コンパイラは、のmultiple definition of 'WiimoteScouter::WiimoteScouter(QWidget*)'
がwiimotescouter.cpp
であることを通知しています。私はヘッダーが複数回含まれていないことを確認するためにチェックを使用していますが、明らかに動作していません。理由はわかりません。ここで C++ Qt複数定義
#ifndef WIIMOTESCOUTER_H
#define WIIMOTESCOUTER_H
#include <QWidget>
class QLabel;
class QLineEdit;
class QTextEdit;
class WiimoteScouter : public QWidget
{
Q_OBJECT
public:
WiimoteScouter(QWidget *parent = 0);
private:
QLineEdit *eventLine;
};
#endif // WIIMOTESCOUTER_H
そして、ここでのcppファイルです:
#include <QtGui>
#include "wiimotescouter.h"
WiimoteScouter::WiimoteScouter(QWidget *parent) :
QWidget(parent)
{
QLabel *eventLabel = new QLabel(tr("Event:"));
eventLine = new QLineEdit;
QGridLayout *mainLayout = new QGridLayout;
mainLayout->addWidget(eventLabel, 0, 0);
mainLayout->addWidget(eventLine, 0, 1);
setLayout(mainLayout);
setWindowTitle(tr("Wiimote Alliance Scouter"));
}
最後に、main.cppに:
#include <QtGui>
#include "wiimotescouter.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
WiimoteScouter wiimoteScouter;
wiimoteScouter.show();
return app.exec();
}
これは、コンパイラの代わりにリンカエラーのように聞こえます。 .proファイルに複数の.cppファイルがありますか?また、完全なエラーメッセージを投稿することも役に立ちます。 –
あなたのC++プロジェクトはなぜそうですか?それにPHPファイル? 0_o –
私の間違いはここにコピーして、それは.cppだ、私はPHPで働いていた。 ;) –