====== Fltk 2.0 stand alone ====== Autore: **//Fabio Di Matteo//** \\ Ultima revisione: **//09/02/2008//** \\ \\ E' possibile ,come per tutte le librerie, distribuire i programmi realizzati tramite il toolkit fltk comprendendo anche nella distribuzione del programma le librerie stesse grazie ad un makefile scritto per l'occorrenza. E' così peraltro possibile permettere agli utenti di ricompilarsi il programma senza avere le librerie fltk installate sul proprio sistema. ====== Compiliamo le librerie ====== - Creiamo la directori del nostro progetto - Scarichiamo le librerie dal sito [[http://www.fltk.org/|www.fltk.org/]] - Compiliamo le librerie: ./configure Può essere utile copiare i l'ultima riga dell'output del configure dove dice: "Libs: ... " perchè poi andremo a mettere questi riferimenti alle librerie anche nel ''Makefile''. make ===== Prendiamo quello che serve ===== - Copiamo dentro la directory del nostro progetto le directory ''fltk'' e ''lib'' - Scriviamo un listato c++ d'esempio e salviamo nella stessa directory del progetto: #include "fltk/Window.h" #include "fltk/Widget.h" #include "fltk/Button.h" #include "fltk/ask.h" #include "fltk/Input.h" #include "fltk/run.h" using namespace fltk ; Window *window = new Window(320,240); Button *button1 ; //dichiarimo questi widget qui in modo da avere Input *entry ; //una visibilità globale void cliccato(Widget *w, void *data) { button1->color(220); //colora il bottone message(entry->value()); //mostra un messaggio //con il valore di input } int main(int argc, char **argv) { window->begin(); //da qui si comincia a disegnare la finestra "window" button1 = new Button(100, 150, 100, 50, "OK"); entry = new Input(150, 50, 100, 30, "Nome: "); entry->value("Ciao mondo!"); //scrive "Ciao mondo" sulla textbox input button1->box(PLASTIC_UP_BOX); //per cambiare look al widget button1->callback(cliccato); //collega al click l'esecuzione della callback "cliccato" window->end(); //da qui si fnisce di disegnare la finestra "window" window->show(argc, argv); //si mostra la finestra "window" con tutti i widget figli return run(); //ciclo principale delle librerie } Scriviamo il seguente ''makefile'' : CPP = g++ # in OPTS = mettere la riga Libs: ... che restituisce il "configure" durante la # compilazione delle librerie. # OPTS = -Ifltk -Llib -lfltk2 -lX11 -lXi -lXinerama -lXft -lpthread -lm -lXext -lsupc++ all: $(CPP) main.cc -o main $(OPTS) ===== Compiliamo il nostro proggetto ===== make ed eseguiamolo con ''./main''