Instalirao sam fltk pack sa fltk.org i sve radi ok. Sad me zanima kako da fltk projekat ubacim u Kdevelop? Znaci da mogu kompajlirati fltk projekte iz Kdevelopa bez koristenja konzole.
Koristim Mandrivu 2007.1
KDevelop nema gotov template za fltk projekte ali možeš početi od “Hello world” i samo pozivati fltk biblioteke po želji.
Prije kompajliranja, u Project Options pod Configure Options na kartici C++ u polje Compiler flags dodaj -lfltk na kraj (prije toga mora biti razmak).
Izgleda da Kdevelop pravi neke probleme sa fltk bibliotekom
/usr/local/lib/libfltk.a(Fl_x.o): In function `fl_open_display(_XDisplay*)':
Fl_x.cxx:(.text+0x1677): undefined reference to `XCreateSimpleWindow'
Fl_x.cxx:(.text+0x1695): undefined reference to `XVisualIDFromVisual'
Fl_x.cxx:(.text+0x16a8): undefined reference to `XGetVisualInfo'
/usr/local/lib/libfltk.a(Fl_x.o): In function `fl_open_display()':
Fl_x.cxx:(.text+0x16e7): undefined reference to `XSetIOErrorHandler'
Fl_x.cxx:(.text+0x16f3): undefined reference to `XSetErrorHandler'
Fl_x.cxx:(.text+0x16ff): undefined reference to `XOpenDisplay'
Fl_x.cxx:(.text+0x1718): undefined reference to `XDisplayName'
/usr/local/lib/libfltk.a(Fl_x.o): In function `Fl::get_mouse(int&, int&)':
Fl_x.cxx:(.text+0x1783): undefined reference to `XQueryPointer'
/usr/local/lib/libfltk.a(Fl_x.o): In function `fl_init_workarea()':
Fl_x.cxx:(.text+0x17b7): undefined reference to `XInternAtom'
Fl_x.cxx:(.text+0x17f1): undefined reference to `XGetWindowProperty'
Fl_x.cxx:(.text+0x186b): undefined reference to `XFree'
/usr/local/lib/libfltk.a(Fl_x.o): In function `Fl_X::sendxjunk()':
Fl_x.cxx:(.text+0x1938): undefined reference to `XAllocSizeHints'
Fl_x.cxx:(.text+0x1a63): undefined reference to `XSetWMNormalHints'
Fl_x.cxx:(.text+0x1a82): undefined reference to `XChangeProperty'
Fl_x.cxx:(.text+0x1a8b): undefined reference to `XFree'
… ovo je samo dio poruke compilera … ostatak je slican samo drugi fileovi
Ovaj program sam uspio normalno kompajlirati iz konzole sa:
evo i code koji pokusavam kompajlirati:
[code]#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Button.H>
using namespace std;
//--------------------------------------------
void but_cb( Fl_Widget* o, void* ) {
Fl_Button* b=(Fl_Button*)o;
b->label(“Good job”); //redraw not necessary
b->resize(10,150,140,30); //redraw needed
b->redraw();
}
//--------------------------------------------
int main() {
Fl_Window win( 300,200,"Testing" );
win.begin();
Fl_Button but( 10, 150, 70, 30, "Click me" );
win.end();
but.callback( but_cb );
win.show();
return Fl::run();
}[/code]
Ne kontam, isti taj program se kompajlira kod mene bez problema, možda zato što sam kompajlirao fltk kao shared. Probaj tamo gdje si stavio -lfltk dodati još i -lX11
Sad je ok, hvala !
Preporuka bi bila da pogledas “fltk-config --ldflags” output.
Odlično! Ako bude nekih pitanja u vezi korištenja fltk slobodno pitaj… ovdje nas ima par koji aktivno koristimo taj toolkit.