−Indice
Fltk 1.1 stand alone
Autore: Fabio Di Matteo
Ultima revisione: 8/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 www.fltk.org/
- Compiliamo le librerie:
../configure && make
Prendiamo quello che serve
- Copiamo dentro la directory del nostro progetto le directory
FL
elib
- Scriviamo un listato c++ d'esempio e salviamo nella stessa directory del progetto:
#include <iostream> #include "FL/Fl.H" #include "FL/Fl_Window.H" #include "FL/Fl_Button.H" // per i bottoni #include "FL/Fl_Input.H" //per la textbox #include "FL/Enumerations.H" //per le costanti dei colori #include "FL/fl_draw.H" //per disegnare #include "FL/fl_ask.H" //per i messagebox Fl_Window *window = new Fl_Window(320,240); Fl_Button *button = new Fl_Button(100, 150, 100, 50, "OK"); Fl_Input *input = new Fl_Input(150, 50, 100, 30, "Nome: "); void cliccato(Fl_Widget *w, void *data) { std::cout<< input->value()<<std::endl ; //scrive sullo stdout //il valore di input button->color(220); //colora il bottone fl_message(input->value()); //mostra un messaggio //con il valore di input } int main(int argc, char **argv) { button->callback(cliccato); //collega al click l'esecuzione della //funz. "cliccato" input->value("Ciao mondo!"); //scrive "Ciao mondo" sulla textbox input button->shortcut(FL_Enter); // assegna una scorciatoia da tastiera al bottone button->box(FL_PLASTIC_UP_BOX); //per cambiare look al widget window->end(); //mostra i widget disegnati sulla finestra window->show(argc, argv); return Fl::run(); //ciclo principale delle librerie }
Scriviamo il seguente makefile
:
CPP = g++ OPTS =-IFL -Llib -lfltk -lXext -lX11 -lm all: $(CPP) main.cc -o main $(OPTS)
Compiliamo il nostro proggetto
make
ed eseguiamolo con ./main
Makefile alternativo
Se abbiamo compilato le librerie fltk con con ./configure –enable-xft
disponiamo del miglio supporto per la resa dei font, quindi potremmo utilizzare un altro makefile che renda disponibile questa caratteristica anche nei nostri progetti:
CPP = g++ OPTS =-IFL -Llib -lfltk -lXext -lX11 -lXft -lm all: $(CPP) main.cc -o main $(OPTS)
L'unica aggiunta riguarda -lXft
nelle OPTS.