0
#include <FL/Fl.H>
#include <FL/Fl_Window.H>

int main() {
    Fl_Window win(400, 400);
    win.show();
    return Fl::run();
}

「fltk-config --compile main.cpp」でコンパイルしています。コードは問題なくコンパイルされますが、アプリケーションを実行すると、コンソール ウィンドウしか表示されず、GUI は表示されません。

また、ターミナルから液体を使用してみました(「fluid main.cpp」経由)。私が理解しているように、fluidはグラフィカルエディターであるため、これを正しく使用しているかどうかさえわかりません。いずれにせよ、結果は「ディスプレイを開けません:」です。同じエラーが見つかりましたが、ここでは状況が異なります。そのスレッドの誰かが、私が試した「export DISPLAY=:0.0」の実行を提案しました。現在、液体を使用している場合、エラーは単に「ディスプレイを開けません: :0.0」に変わりました。

Qt4 をフレームワークとして (qmake/make を使用してコンパイルして) ​​使用しようとしたことも注目に値しますが、まったく同じ問題があります。さまざまなソースが動作するはずであると言うコードを使用しているにもかかわらず、コンソールが読み込まれ、いかなる種類の GUI もありません。

編集 私はこの質問を見つけました。DependencyWalker を使用して、.exe で使用される .dll を見つけ、それらの .dll のコピーをプロジェクト フォルダーに直接配置しました。これは私の問題を解決したり、変更したりしませんでした。参考まで、私使用した.dllとおりです

Qtでも同じソリューションを試しましたが、成功しませんでした。その場合、.dll はcygwin1cyggcc_s-1cygstdc++-6cygqtcore-4cygqtgui-4kernel32でした。

いくつかの良いニュースとして、Qt Creater SDK を使用してアプリケーションを正常にビルドできることがわかったので、問題は手動コンパイルのみのどこかにあります。いずれにせよ、私はまだこの問題を解決したいと思っています。小さなプロジェクトに SDK を使用するのは嫌いで、ライブラリ オプションを開いたままにしておきたいです。

4

1 に答える 1

1

が出力されない場合fltk-config --cxxflags、FLTK は Cygwin の X Window System で動作するようにコンパイルされています。これはおそらく避けたいことです。Makefileに追加すると、FLTK アプリケーションが動作するはずです。fltk-config --ldflags-mno-cygwin-mno-cygwin

私はいつも MinGW+MSYS の方が好きでした。

于 2012-04-11T23:35:56.663 に答える