CodeLite を使用して Fltk プロジェクトを作成しています。すべて問題ないように見えますが、F5 キーを押してデバッグすると、「Program Received signal SIGSEGV」のヒントで常にクラッシュしました。コールスタックは次のとおりです。
0 0x00401c66 Fl_Widget::Fl_Widget(int, int, int, int, char const*)
1 0x0040a6b1 Fl_Group::Fl_Group(int, int, int, int, char const*)
2 0x004097bf Fl_Window::Fl_Window(int, int, char const*) 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 /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 警告
新たな局面!! 今日、CodeBlocksを最新バージョンに更新しましたが、同じ問題が発生しました.MinGWのバージョンに関連していると思います...MinGWの新しいバージョンを使用してFLTKを作り直しましたが、どちらも機能しません... CodeLite の MinGW パスを古いものに変更する必要がありますが、それは機能します...最新バージョンを使用できなかったのはなぜですか?