[RIJEŠENO] Kdevelop i fltk

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 :wink: koji aktivno koristimo taj toolkit.