Je me demandais pourquoi je recevais cette erreur: undefined reference to` vtable pour BaseRenderer »C++ - référence non définie à `vtable
J'ai essayé de chercher semblent autour mais ne peut pas comprendre cela. J'ai essayé de se débarrasser de la fonction virtuelle, en supprimant le constructeur, etc.
Mon BaseRenderer.h
class BaseRenderer : public Renderer
{
Q_OBJECT
public:
BaseRenderer();
BaseRenderer(QWidget *parent);
void paintGL();
virtual ~BaseRenderer();
public slots:
void loadDialog();
signals:
protected:
Mesh loadMesh(string fileName);
private:
OBJParser objParser;
Mesh baseTerrain;
};
Mon BaseRenderer.cpp
BaseRenderer::BaseRenderer() <------ Error leads me here
{
}
BaseRenderer::BaseRenderer(QWidget *parent) : Renderer(parent)
{
}
BaseRenderer::~BaseRenderer()
{
//dtor
}
Comment puis-je faire pour se débarrasser de ce problème? Je l'entends aussi peut-être le compilateur ...? Merci pour l'aide :)
quels sont les paramètres transmis au compilateur? – sashang
Qu'est-ce que Q_OBJECT? –
@John - c'est une macro Qt, ce qui signifie que ce fichier source doit être exécuté via un outil Qt séparé ('moc.exe') pour générer un tas de code pour les comportements spécifiques à Qt comme les slots et les signaux. – birryree