0

マルチプラットフォーム用にqt 5.1を使用してメインアプリ/プラグインアプリケーションを構築しています。

Windowsでは、メインアプリは静的にリンクされていますが、プラグインは動的にリンクされています(最初のものは要件であり、2番目のものは選択の余地があります:))

今まで、すべてがうまくいきました。

今、私はプラグインがいくつかのもの(主に設定...)を表示できるようにしたいのですが、すべてがWindowsでうまく機能していません。何かを表示しようとすると、「QWidget: QPaintDevice の前に QApplication を構築する必要があります」というメッセージが表示されました。少し調査した後、UI に依存するものはすべて QApplication のインスタンスが実行されている必要があることを理解しています。そのため、qApp は NULL であってはなりませんが、プラグインではありますが、メイン アプリではありません。

QApplication を設定/割り当てる方法を知っている人はいますか?

前もって感謝します :)

4

1 に答える 1

0

Qt プロジェクト フォーラムで議論されましたが、それを機能させる唯一の方法は、プラグインが存在しない場合に QApplication を作成することです (これは、アプリが Qt に対して静的にリンクされている場合のみです)。

そして、プラグインもQtに対して静的にリンクされ、正常に動作します:)

于 2013-11-05T08:20:10.177 に答える