問題タブ [fltk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
fltk - CodeLite によって作成された Fltk プロジェクトをデバッグできません
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 を使用してコードを正常に作成したので、コードに問題はないと確信しています。
ビルドログ、おそらく役立つ:
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 パスを古いものに変更する必要がありますが、それは機能します...最新バージョンを使用できなかったのはなぜですか?
c++ - Fl_Double_Window の hide メソッドを呼び出しても、マルチスレッド FLTK C++ アプリケーションでは効果がない (Visual Studio 2010)
私は C++ FLTK アプリケーションに取り組んでいます。これは、以下のコードを使用してスレッド内にモーダル ウィンドウを作成および表示するマルチスレッド アプリケーションです。
次に、同じスレッドで新しいスレッドを作成し、Fl_Double_Window
オブジェクトへのポインターをスレッドパラメーターとして渡します。
&私のスレッド関数では、いくつかの操作を行います&その後、表示中のモーダルウィンドウを非表示にする必要があります:
ここでの問題は、私のコードがエラーなしで正常に実行されることですが、オブジェクト ポインターhide
のメソッドを実行した後dlg
、ウィンドウは非表示にならず、使用してウィンドウ オブジェクトを呼び出しhide
たり削除したりしdelete dlg
ても効果がありません。
この問題はマルチスレッドの動作に関連していると思いますが、問題の原因と解決方法を推測できません。
c++ - FLTK を MinGW で動作させる
MinGW の msys コマンドラインから FLTK をインストールしました。すべて正常に動作しているように見えましたが、単純なプログラムを実行しようとすると、次のエラーが報告されます。
ここで作業しようとしているマニュアルの最初のコード例であるため、既に定義されていると予想していました。
visual-studio-2010 - FLTK を Visual Studio 2010 にインストールする
Visual Studio 2010 に FLTK 1.3.2 をインストールする際に問題が発生しました。ファイルを解凍し、Visual Studio で FLTK.dsw を開き、すべて [はい] を選択してから、ロード後にソリューションをビルドします。ソリューションをビルドしようとすると、80 個のビルドが成功し、4 個が失敗し、0 個がスキップされます。2台の別々のコンピューターで試してみたところ、同じエラーが発生したため、何か間違っていると思います。
windows - C++: FLTK のインストールのヘルプ
FLTK を Windows にインストールする方法がわかりません。オンラインで見つけたものをいくつか調べてみましたが、これまでのところ何も機能していません。誰かがそれを行う方法について段階的なガイドを教えてくれますか?
c++ - Stroustrup FLTK Out_box 改行
\n
Out_box オブジェクトに改行を入れる方法は? 私が次のようなことをした場合:
出力は次のようになります。
そして、私はそのようなものが欲しい:
私はそれを理解します。誰かの役に立つかもしれないと思います。Out_box で複数行を維持したい場合は、Gui.cpp の Out_box::put と Out_box::attach の定義を変更する必要があります。含めることを忘れないでください
multithreading - FLTK 1.3 を使用して別のスレッドでウィンドウを作成できますか?
私は現在、音響信号ビジュアライザーに取り組んでいます。信号を取得したら、その波形とスペクトルの両方を 2 つの異なるウィンドウにプロットする必要があります。したがって、Plotter クラスを実装しました。これは、構築時にインスタンスごとに独自のスレッドを作成します。しかし、FLTK の機能の多くは、一部のクラス メソッド呼び出しでクラッシュするため、スレッドセーフではないように思われるため、問題が発生しています。(設定軸スケールなど)
私が今使っているモデル:
このモデルは実用的ですか?今はわかりません...ありがとう。
c++ - クロスプラットフォームアプリケーションに設定 (およびユーザー設定) を保存する方法は?
私は、Windows、Mac OS X、および Linux でネイティブに実行される GUI デスクトップ アプリケーションに取り組んでいます。クロスプラットフォーム アプリケーションで設定を保存するための推奨される方法は何ですか? 私は C++ を使用していますが、質問 (およびその回答) は、ネイティブにコンパイルされた言語に対して有効である必要があります。(動的言語と Java のソリューションについては、こちらを参照してください。)
私のこれまでの調査によると、少なくとも 2 つの戦略があることがわかりました。
(A) OS 固有の API 設定関数を使用します。
(B) 適切な (OS 固有の) フォルダー内のファイルに設定を保存します。
方法 (A) を考えてみましょう:NSUserDefaults
が Mac OS X の正しい方法だと思います。Windows システムでは、RegOpenKeyEx
. しかし、いくつかの疑問が生じます: それに匹敵する移植可能な Linux API はありますか? Windows レジストリへの書き込みは本当に将来性のあるソリューションですか?
物事を単純にするために、私は方法 (B) に従う傾向があります。したがって、選択した形式でデータを保存できる適切なディレクトリを取得するための OS 固有のコードしかありません。SHGetFolderPath
Windows については、 (またはSHGetKnownFolderPath
最近の Windows システムについては)学習済みでCSIDL_LOCAL_APPDATA
あり、進むべき道です。Mac では、NSSearchPathForDirectoriesInDomains
API 呼び出しで同じことを行う必要があります。物事をより複雑にしていますが、これは Objective-C API です。最後に、Linux バージョンではgetenv("HOME")
(およびgetpwuid()
フォールバック ソリューションとして) を使用することをお勧めします。
私の質問を要約すると:
1. このタスクのベスト プラクティスと見なされるパターンはありますか?
2. 正しいフォルダを見つけるなど、すべての汚れを抽象化する C++ クラスはありますか? (私はQSettingに遭遇しましたが、私は FLTK を使用しており、GUI ツールキットを変更したくありません。)
編集:
「設定」とは、アプリケーションとユーザーによって変更される可能性のあるデータを意味します。たとえば、最近のファイルのリスト、優先ウィンドウサイズなどです。