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.
./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
fltk
e lib
#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)
make
ed eseguiamolo con ./main
Il nostro wiki installa solamente cookie tecnici necessari al funzionamento della piattaforma "Dokuwiki". Niente analitics, statistiche, tracciamenti o altro.