Ciao a tutti. Ho un problema con l'interfaccia grafica del mio progetto (wxWidgets e OpenGL). Fino a ieri funzionavano tutte le mie classi. Oggi ho provato ad aggiungere una classe Colore che si occupa di richiamare le funzioni di OpenGL per colorare e che ho messo come attributo della classe Palla3D, che deriva da Palla. Palla3D, in più di Palla ha come attributo un colore e un GLUquadric*, che serve per disegnare la sfera.
Quando ho compilato però ho ottenuto una brutta sorpresa su una classe che non ho toccato minimamente... la classe GUI. La mia interfaccia é composta dalla classe GUI (wxApp), da Finestra (wxFrame) e dalla classe Vista che si occupa del timer (quindi di far evolvere il mio sistema) e di disegnarlo a schermo.
Questo é l'errore che ottengo:
codice:
Undefined symbols for architecture i386:
"vtable for GUI", referenced from:
GUI::GUI() in cc74qdwS.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture i386
collect2: error: ld returned 1 exit status
make: *** [testGUI] Error 1
La classe GUI é semplicemente questa, quindi non riesco proprio a capire, anche perché prima funzionava tutto:
codice:
#ifndef GUI_H
#define GUI_H
#include "Finestra.h"
class GUI : public wxApp
{
public:
// --- METODI ---
bool OnInit();
};
#endif
codice:
#include "GUI.h"
// *** PUBLIC ***
// --- METODI ---
bool GUI::OnInit()
{
Finestra* f = new Finestra(wxT("Simulazione"), wxSize(800, 600));
SetTopWindow(f);
return (f != 0);
}
Sono proprio bloccato e se non riesco a trovare l'errore devo rifare un sacco di cose... =(.
Grazie,
R.