Я использую CodeLite для создания проекта Fltk. Все кажется прекрасным, но когда я нажимаю F5 для его отладки, он всегда разбивается с подсказками «Program Received SIGSEGV». Вот стек вызовов:Не удается отладить проект Fltk, созданный CodeLite
0 0x00401c66 Fl_Widget :: Fl_Widget (интермедиат, Int, Int, Int, символ сопз *)
1 0x0040a6b1 Fl_Group :: Fl_Group (интермедиат, Int, Int, Int, символ сопз *)
2 0x004097bf Fl_Window :: Fl_Window (интермедиат, INT, символ сопза *) 3 0x00401415 главного
Я уверен, что код не имеет никаких проблем, потому что я сделал это успешно, используя CodeBlocks;
#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();
}
журнал сборки, может быть полезно:
C: \ Windows \ system32 \ cmd.exe/с "mingw32-make.exe -j 4 -e -f " CL_TESL_wsp.mk "" ---------- Проект здания: [HelloFltk - Debug] ---------- "mingw32-make.exe [1]: Ввод каталога
G:/CPP/CL_TESL/HelloFltk' g++ -o ./Debug/HelloFltk @"HelloFltk.txt" -L. -LG:/MinGW-4.7.1/lib/ -LG:/FLTK/fltk- 1.3.2/lib/ -LG:/FLTK/fltk-1.3.2/ -LG:/MinGW-4.7.1/lib/ -lgdi32 -lfltk -lfltk_forms -lfltk_gl -lfltk_images -lfltk_z -lgdi32 -lole32 -luuid -luser32 -lcomctl32 mingw32-make.exe[1]: Leaving directory
G:/CPP/CL_TESL/HelloFltk '0 ошибок, 0 предупреждений
Новая ситуация !! Сегодня я обновляю свои CodeBlocks к новой версии, и возникает такая же проблема. Я думаю, что она согласуется с версией MinGW ... Я переделал FLTK с помощью новой версии MinGW, тоже не работает ... Так что я должен изменить путь MinGW CodeLite к старому, и он работает ... Почему я не могу использовать новейшую версию?
теперь скопировать код из fltk.org, но проблема все еще остается нерешенной. "int main (int argc, char ** argv) { Fl_Window * window = new Fl_Window (340,180); Fl_Box * box = new Fl_Box (20,40,300,100," Hello, World!«); box-> коробка (FL_UP_BOX); box-> labelfont (FL_BOLD + FL_ITALIC); box-> labelsize (36); box-> labeltype (FL_SHADOW_LABEL); window-> конец(); window-> show (argc, argv); return Fl :: run(); } «Он всегда разбился при построении Fl_Widget – user2002732