I try to build with fltk1.4.4. the following minimal prog:
class MyWin: public Fl_Window
{
public:
MyWin( int x, int y, int w, int h, const char* title = 0 ):
Fl_Window(x,y,w,h,"Hallo Welt!")
{
}
void draw() override
{
Fl_Window::draw(); // Das zeichnet den Background neu, falls erforderlich!
std::cout << "Draw!" << std::endl;
fl_color( FL_WHITE );
fl_draw( "Hallo world", 10,20);
}
};
int main() {
auto display = new MyWin(1,1,900, 600, "Test");
display->color(FL_RED);
display->show();
Fl::run();
}
Compiled with:
g++ -g \
`/home/krud/external_repos/fltk-1.4.4/myinstall/bin/fltk-config --cflags` \
main.cpp \
`/home/krud/external_repos/fltk-1.4.4/myinstall/bin/fltk-config --ldflags` \
-o go
Got: Program received signal SIGSEGV, Segmentation fault.
Backtrace in gdb:
(gdb) bt
#0 0x000000000043d4fd in Fl_Cairo_Graphics_Driver::draw (this=0x58fce0, str=0x4f969a "Hallo world", n=11, x=10, y=20) at drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx:1343
#1 0x0000000000437913 in Fl_Cairo_Graphics_Driver::draw (this=0x58fce0, s=0x4f969a "Hallo world", nBytes=11, x=10, y=20) at drivers/Cairo/Fl_Cairo_Graphics_Driver.H:170
#2 0x0000000000426308 in fl_draw (str=0x4f969a "Hallo world", n=11, x=10, y=20) at ../FL/fl_draw.H:957
#3 0x0000000000428b57 in fl_draw (str=0x4f969a "Hallo world", x=10, y=20) at fl_font.cxx:33
#4 0x00000000004024a4 in MyWin::draw (this=0x565380) at main.cpp:30
#5 0x000000000041f5a2 in Fl_Window::flush (this=0x565380) at Fl_Window.cxx:487
#6 0x0000000000420db1 in Fl_Window_Driver::flush (this=0x54cf50) at Fl_Window_Driver.cxx:190
#7 0x000000000040304c in Fl::flush () at Fl.cxx:820
#8 0x000000000046c858 in Fl_Unix_System_Driver::wait (this=0x54c240, time_to_wait=1e+20) at drivers/Unix/Fl_Unix_System_Driver.cxx:803
#9 0x0000000000402d79 in Fl::wait (time_to_wait=1e+20) at Fl.cxx:632
#10 0x0000000000402d93 in Fl::run () at Fl.cxx:652
#11 0x0000000000402310 in main () at main.cpp:40
Any idea what I did wrong?