3

Windows 7 用の Visual Studio 2008 で記述された、Qt + OpenGL で記述されたアプリケーションをデプロイしています。

クライアント マシンでは、音声は再生されず、アプリケーションには画像が表示されません。とてもシンプルにしています。画像と音声ファイル用の別のフォルダーはありません。すべてが .exe の近くにあります。私のコードでは、これらのファイルに次のようにアクセスしました。

QPixmap pixmap("closeButton.jpg");

面白いのは、私のコンピューターで「完全に」動作することです。だから私は問題がどこにあるのかわからない

/Release から、すべてのソース ファイルと画像およびオーディオ ファイルが存在する /myProject への出力ディレクトリを試しました。繰り返しますが、私のコンピューターでは機能しますが、クライアント側では機能しません。

私のマシンでは同様の問題を生成できないため、問題の解決が非常に難しくなっています。良い解決策はありますか?

4

3 に答える 3

4

Ok。問題は解決しました。実際には、オーディオと画像用の 2 つの dll がありませんでした。

Qt\Version\Plugins\ ディレクトリ。依存関係ウォーカーは、プラグインの依存関係を表示しません。

また、最初の回答へのコメントを参照すると、Qt リソースは実際にはバイナリ内にパックされています。こちらをご覧ください

助けてくれてありがとう。

于 2013-04-03T05:07:10.673 に答える
1

オーディオ/画像およびその他の外部ファイルをリソースとしてプロジェクトに追加する必要があります。

たとえば、画像をQImageウィジェットにロードするコードを書きました。私のリソースファイルのプロパティは次のとおりです。

ここに画像の説明を入力

コードの後半で、ファイルを次のように参照します。

QImage tmp(":/mario-block.png");

取引のもう 1 つの重要な部分は、リソースが適切に読み込まれたかどうかを確認することです。この場合、次の行も追加しました。

if (tmp.isNull())
{
    std::cout << "!!! Failed to load image #1" << std::endl;
    return;
}
于 2013-03-31T19:45:42.183 に答える
0

画像と音声ファイルがセットアップ パッケージに含まれていることを確認しましたか? また、ファイルにアクセスする場合、正しいパスを使用していますか?

于 2013-03-31T19:44:36.657 に答える