Próbuję utworzyć prostą aplikację GUI (do tej pory) w Qt z C++ za pomocą kompilatora MinGW. Jednak kompilator informuje mnie, że mam multiple definition of 'WiimoteScouter::WiimoteScouter(QWidget*)'
na line 4
z wiimotescouter.cpp
. Używam czeku, aby upewnić się, że nagłówek nie jest dołączany wiele razy, ale najwyraźniej nie działa i nie jestem pewien dlaczego.C++ Qt Wiele definicji
Oto nagłówek pliku:
#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
A oto plik 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"));
}
Wreszcie main.cpp:
#include <QtGui>
#include "wiimotescouter.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
WiimoteScouter wiimoteScouter;
wiimoteScouter.show();
return app.exec();
}
To brzmi bardziej jak błąd łącznika zamiast kompilatora. Czy masz więcej niż jeden plik .cpp w pliku .pro? Pomocne byłoby również wysłanie kompletnego komunikatu o błędzie. –
Dlaczego twój projekt C++ ma.pliki php w nim? 0_o –
Mój błąd to kopiowanie tutaj, to jest .cpp, jestem przyzwyczajony do pracy z PHP. ;) –