2

デプロイ プロセスをテストするために、付属のデモ アプリ Minehunt をデプロイしようとしています。クラッシュやエラーなしで実行できますが、画面はすべて白です。

これは通常、プラグインが不足していることを意味すると思います。依存関係ウォーカーは問題を報告しません。Qt MingW プラグイン ディレクトリからすべてのプラグインを含めようとしましたが、そのような運はありませんでした。

ここに私がこれまでに含めたものがあります。実行するために他に何を追加する必要があるか、誰にもアドバイスできますか?

ここに画像の説明を入力

ここに画像の説明を入力

4

2 に答える 2

1

あなたのdllはまったく悪く見えません。私も、それはあなたのプラグインだと思います。それらがそこにあったとしても、プログラムがそれらを見つけられない可能性は十分にあります。Qt は、デフォルトでどこを見るかが少しうるさいです。試してみてくださいqt.conf。これは、実行可能ファイルがあるフォルダーに作成する必要がある小さなテキスト ファイルです。Qt プラグインへのパスが含まれています。

たとえば、私のプロジェクトの 1 つで、次のフォルダー レイアウトを使用しています。

アプリフォルダ
  プラグイン
    qt
      プラグイン
        画像フォーマット
        sqldrivers
   myapp.exe
   qt.conf
   ...多くのdll...

次に、qt.conf ファイルを Appfolder に追加しました。このファイルの内容は次のとおりです。

【パス】
プラグイン = プラグイン/qt/プラグイン

私のプログラムは Qt 4 ですが、Qt5 でプラグイン展開のこの側面が変わったとは思いません。私のqt dllはすべてqtにあります。そして、次の PATH を追加しますSET PATH=.\plugins;.\plugins\qt;%PATH%。私が今まで試したどの Windows でも魅力的に動作します。

編集:次に、.bat ファイルを作成しました。

SET PATH=.\plugins;.\plugins\qt;%PATH%
CD アプリフォルダー
マイアプリを起動

これは醜いクイックフィックスであり、より良いものに置き換える時間がありませんでした。

于 2013-08-29T08:25:45.793 に答える
1

アプリケーションが実行されて空白の画面が表示される場合は、通常、次の 2 つのことを示しています。

  1. おそらくすべての依存関係 (dll) が存在し、適切に検出されます。
  2. おそらく不足しているのは、正しい場所に qml ファイルが存在することです。

main.cpp で、指定した qml ファイルのパスを確認し、そのフォルダーが実行可能ファイルに対応する同じ場所に存在するかどうかを相対的に確認します。

また、実行可能ファイルをダブルクリックして実行する代わりに、コマンド ラインから実行します。指定されたパスに従っていくつかの画像/ファイル/その他の依存関係などを見つけることができない場合、いくつかのメッセージを出力することがあります。


編集1:

このフラグを .pro ファイルに追加します。

 CONFIG += console

アプリケーションを実行すると、コンソールに正確なデバッグ メッセージが表示されます。

于 2013-08-29T13:59:38.977 に答える