我正在使用CodeLite創建一個Fltk項目.Everthing看起來很好,但是當我按F5調試它時,它總是與「程序接收信號SIGSEGV」提示一起墜毀。 這裏是調用堆棧:無法調試由CodeLite創建的Fltk項目
0 0x00401c66 Fl_Widget :: Fl_Widget(INT,INT,INT,INT,字符常量*)
1 0x0040a6b1 Fl_Group :: Fl_Group(INT,INT,INT,INT,炭常量*)
2 0x004097bf Fl_Window :: Fl_Window(INT,INT,字符常量*)3 0x00401415主要
我肯定代碼沒有問題,因爲我已經使用的代碼塊成功使得它;
#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的/ C 「的mingw32-的make.exe -j 4 -e -f 」 CL_TESL_wsp.mk 「」 ----------建設項目:[HelloFltk - 調試] ----------「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警告
新局面! 今天更新我的代碼塊到最新版本,它發生同樣的問題。我認爲這是相對於MinGW的版本...我使用MinGW的新版本重製FLTK,也不管用... 所以我必須改變CodeLite的MinGW路徑到舊的,它的工作原理...爲什麼我不能使用最新版本?
現在我複製代碼從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!「); 箱 - >箱(FL_UP_BOX); 箱 - > labelfont(FL_BOLD + FL_ITALIC); 箱 - > labelsize(36); 箱 - > labeltype(FL_SHADOW_LABEL); 窗口 - >端(); window-> show(argc,argv); return Fl :: run(); }「它總是在構造Fl_Widget時崩潰 – user2002732 2013-05-01 02:26:48