問題タブ [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.
c++ - FLTK 1.3 リンクエラー
FLTK を 1.1 から 1.3 に更新すると、更新前に正常に動作していたコードをコンパイルできません。
ここに私のCMakeLists.txtがあります
CMakeLists.txt にいくつかのライブラリを追加しようとしましたが、うまくいきません。何が問題なのか誰に教えてもらえますか?
c++ - この状況でEclipseでライブラリをリンクする方法は?
私は、cmake を使用して適切にコンパイルできる C++ プロジェクトを持っています。
しかし、私が日食に行くとき、いくつかの問題があります。
Eclipse では、プロジェクト -> プロパティ -> c/c++ ビルド -> 設定 -> ツール設定 -> GCC C++ リンカー -> ライブラリに移動し、「ライブラリ (-l)」に jpeg、Xft、および fontconfig を追加し、追加します。 「ライブラリ検索パス (-L)」に /usr/lib/x86_64-linux-gnu を指定します。しかし、それは仕事ではありません。
これは、cmakeでうまく機能する私のCMakeLists.txtです。
私は日食を好む教授と一緒に働いているので、日食で動作させる必要があります。構成で何が欠けていますか?
c++ - コンソールを表示しないクロスプラットフォームエントリ機能
クロスプラットフォームのGUIライブラリ(FLTK)を使用してGUIを作成していますが、Win32APIは使用していません。このプログラムをWindows、Linux、MacOSで実行したい。
クロスプラットフォームのジャンボジャンボがどのように機能するかはわかりませんが(私のアカウント名を見てください)、クロスプラットフォームであることが何を意味するのかは理解していると思います。しかし、それは私の質問ではありません。
私の問題は、現在のエントリ関数が単にint main()であるということですが、このエントリ関数を使用すると、コンソールがポップアップします。コンソールは必要ないので、次のようにエントリ機能を作成できることを知っています。
そしてコンソールはありません。
このwWinMainエントリ関数を使用するにはWin32APIを使用する必要があるため(HINSTANCEとLPWSTRのため)、プログラムは他のOSと互換性がなくなるのではないかと心配しています。
だから私の質問は、wWinMain関数を使用した場合、私のプログラムはMacとLinux OSで動作しますか?そうでない場合は、コンソールを作成せず、すべてのOSで動作する機能を使用できますか?
最後に、おそらく私は、同じ.exeプログラムをどのOSでも動作させることができるかどうかについて完全に妄想していますが、それは実際には不可能です。これはそうですか?
c++ - FLTKイベントマッピング/マルチスレッド
FLTKとC++は初めてです。イベントを機能させる方法について助けが必要です。他の言語では、ボタンを作成し、ユーザーがボタンをクリックしたときに異なる関数でbutton1とbutton2からのイベントを処理する関数を定義します。button1にイベントリスナーを追加し、それをbutton1_click()にマッピングするようなものです。
これは、マルチスレッド環境からのコードです。button1とbutton2からのクリックをリッスンし、正しく処理するにはどうすればよいのでしょうか。
また、この設計では、ループ内で200ミリ秒ごとにGUIで個別のスレッド更新データを使用することを計画しています。このループでロックとロック解除を呼び出すと、例外がスローされる可能性はありますか?
ありがとう!!
c++ - C++ FLTK 休止コンポーネント
たとえば、5つの選択肢のコンポーネントがあります
これは、多段階プロセスの一部です。プロセスの最後に、すべてのコンポーネントをリセットして、ユーザーが再度実行できるようにしたいと考えています。困っています。ウィジェットが作成されると、テキストは空白になり、ユーザーは何かを選択してコールバックを呼び出す必要があります。そこをクリックして値を選択する必要があるユーザーは非常に明白です。
このコードで「リセット」したいと思っていました:
機能しません。ウィジェットを再度表示するときに最初の値を選択するだけです。
私はどこかに行こうとしているだけで、この厄介なコードを試しました:
ウィジェットを完全に再作成しても機能しません。ウィンドウにウィジェットがまったく表示されません...
ヘルプ!何か案は?
ありがとう!!
c++ - QtCreatorでWinMainを使用する場合のLNK2019
QtCreatorでFLTKGUIを作っています。Qtを使用してGUIを作成していないことに腹を立てないでください、それは無関係です。
とにかく、私のプロジェクトタイプは「PlainC ++ Project」で、これが私のコードです(おそらく読む必要はありませんが、念のためそこに置いておきます)。
これを実行すると、この警告と2つのエラーが表示されます(小さな画像については申し訳ありませんが、読めない場合はブラウザを拡大してください)。
私はLNK2019エラーが何であるかを知っています、実際、それらはおそらく私の存在の悩みの種です。しかし、この場合、なぜこれを取得しているのかわかりません。これも見ておくべきだと思います。これは私のQtプロジェクトの.proファイルのテキストです。
TEMPLATE = app CONFIG + = console CONFIG-= app_bundle CONFIG-= qt
win32:LIBS + = -luser32 -lshell32 -lgdi32 -lole32 -ladvapi32
ソース+=main.cpp
unix | win32:LIBS + = -L $$ PWD /../../../ Desktop / C ++ / FLTK / lib / -lfltk
INCLUDEPATH + = $$ PWD /../../../ Desktop / C ++ / FLTK / include DEPENDPATH + = $$ PWD /../../../ Desktop / C ++ / FLTK / include
これはおそらく最も重要な部分です。エラーが発生することはなく、int main()をメイン関数として使用するとプログラムは正常に実行されます。
だから、私の質問は、なぜ私はこれを手に入れているのですか、どうすればそれを修正できますか?
c++ - C++ のループで図形を作成してウィンドウに添付するにはどうすればよいですか?
たとえば、一連のコマンドを使用
square 150 160
してウィンドウにいくつかの図形を描画するプログラムを作成しました。任意の数のコマンドに対して実行したい。そのため、ループを使用してこれを行います。問題は、シェイプを作成してウィンドウにアタッチするコマンドがループしている場合、最後のウィンドウにはコンテンツがありません。たとえば、何もアタッチされていません。これは、ループ内で形状を作成する呼び出しがブロック (スコープ) の終了後に破棄されるために発生する可能性があると思います。
どうすればこの問題を克服できますか?
これが私のコードです:
c++ - fastHOG で使用する Fast Light Toolkit (FLTK) 2.0 のコンパイル
Ubuntu 12.04 コンピューターでfastHOGと呼ばれる方向付けられた勾配のヒストグラム用のライブラリをセットアップしようとしています。既製の fastHOG コードをコンパイルしようとすると、コンパイラが見つからないと文句を言います。Rahul Ashok の fastHOG に関するチュートリアルによると、 Fast Light Toolkit (FLTK) 2.0をインストールする必要があります。チュートリアルによると、FLTK 2.0 以外のバージョンは動作しません。fltk/run.h
それで、FLTK 2.0 ( ) をコンパイルしようとしていますsvn co http://svn.easysw.com/public/fltk/fltk/trunk fltk-2.0
。フォルダ内で行うmake
と、のfltk-2.0
ようなエラーが発生しますundefined reference to 'FcInit'
。
FLTK 2.0 を適切にコンパイルするためのアドバイスはありますか?
Ubuntu 12.04 で g++ 4.6.3 を使用して FLTK 2.0 をビルドするときに表示される完全なエラー出力は次のとおりです。
c - OpenCV libjpeg と fltkjpeg の間のライブラリ競合を解決するには?
問題は、*.jpg 形式を読み取るために fltkjpeg.lib という名前のリンクが必要なライブラリがあることです。しかし、私のアプリケーションは OpenCV libjpeg.lib ライブラリともリンクする必要があります。fltkjpeg ライブラリをリンクすると、OpenCV jpeg ライブラリが機能しません。OpenCV jpeg をリンクすると、FLTK jpeg は jpeg 画像を読み取りません。
この競合を取り除くにはどうすればよいですか?
ところで、OpenCV の画像データを FLTK の画像データに設定するにはどうすればよいでしょうか? 現在、私はこの Fl_Shared_Image::get(filepath); のように使用しています。
ありがとう。
c++ - FLTK にイベント ハンドルなしで強制的に再描画させる
Fltk を使用して openGL グラフをレンダリングしています。現在、ヒープソート関数でソートされたグローバル配列をデバッグしています。私の目的は、ヒープソート関数で要素をスワップするたびに、要素のグラフィカルなスワップを確認することです。しかし、スワップしてブレークポイントで待機した後に再描画する必要があるたびに、FLTK event_handle からイベントをキャッチしたくありません。(heapsort 関数と opengl レンダリング部分は 2 つの異なるスレッドで実行されています (言うまでもなく))。だから私が最初に試したのは、次のものを使用することでした:
しかし、コールバックが2回目に呼び出されるたびに、「アクセス違反の読み取り」が表示されます
FL::run が別のスレッドを開始することを提案しているので、最初はまだ同じスレッドにある可能性があるため、再描画のアドレスはまだ使用できますが、その後は別のスレッドにいて、アドレスの関数はそれではありません私は期待しています?!
しかし、この方法でタイムアウトを使用することさえできないかどうかわからなかったので、私はすでに別の方法を取りました。それで、「経過した時間の設定」または「何も起こっていない...」に相当するイベントを取得する方法を探していましたが、そのようなハンドルはありません。
最後に、イベントループの外でも FLTK にコマンドを実行させる方法はありますか? または私の問題を解決する別の方法はありますか?