In the GLOptions class, GLOptions define a signal:

 signals: void submit(); 

I get a compilation error:

moc_gloptions.cpp: -1: error: multiple definition of `GLOptions :: submit () '

  1. File gloptions.h :

     #ifndef GLOPTIONS_H #define GLOPTIONS_H #include <QWidget> #include "glprimitive.h" class GLOptions : public QWidget { Q_OBJECT public: explicit GLOptions(QWidget *parent = 0); ~GLOptions(); GLPrimitive* getPrimitive(); signals: void submit(); }; #endif // GLOPTIONS_H 
  2. File gloptions.cpp :

     #include "gloptions.h" GLOptions::GLOptions(QWidget *parent) : QWidget(parent) { } GLOptions::~GLOptions() { } void GLOptions::submit() { } GLPrimitive* GLOptions::getPrimitive() { return NULL; } 

    1 answer 1

    multiple definition - says that you have already defined this signal somewhere in the header file, possibly as a normal public / private method.