2013-08-21 34 views
8

私はこの問題の解決策を探していましたが、多くの人が私の問題を共有していますが、解決策はありません。Visual StudioからQt C++アプリケーションを配備するqwindows.dllエラー

私はVisual Studio 2010を使用してQtフレームワークを使用してC++アプリケーションを作成しました。Visual Studioから「リリース」モードでアプリケーションをビルドして実行しましたが、そのExeをReleaseフォルダから新しいデスティネーションその新しいPC)には、このエラーを提供する実行に失敗します。私は、次のファイル構造を持っている

--------------------------- 
TestApplication 
--------------------------- 
This application failed to start because it could not find or load the Qt platform plugin "windows". 

Available platform plugins are: windows. 

Reinstalling the application may fix this problem. 

実行ディレクトリ内:
./TestApplication.exe
./libGLESv2.dll
./Qt5Core .dll
./Qt5Gui.dll

./qt.conf
./QtWidgets.dllは
./platforms/qwindows.dll
すべてのdllファイルは、ライブラリが存在するQtbaseフォルダ内のQtの5.0.0ビルドから採取しました。

qt.confファイルは次のとおりです。それがなければ

[Paths] 
Plugins=. 

それは「最小」と「オフスクリーン」は、同様利用できるプラットフォームですと言う以外、打ち上げエラーは同じです。

このエラーが発生した他の人は、platformsフォルダを作成してqwindows.dllを挿入することで解決されたようです。しかし、それを自分でやっても、行動は変わりません。

私が間違っていることはありますか?おそらく、最初の場所で.exeを生成する私の方法は間違っていますか?

+0

[deployment](http://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html)のすべての手順を踏んだことがありますか? –

答えて

9

libGLESv2.dllを使用している場合は、libEGL.dllも含める必要があります。 depends.exeでは、Qtの開発者がどうやってこれを隠してしまったか分かりません。 Qtをそのまま使用すると、OpenGLを使用していなくても、両方のDLLが必要になります。

また、あなたのQtがそのままの状態であれば、Unicode処理に関する情報を含む3つのic * .dllも含める必要があります。

+0

そのDLLを追加すると、「このアプリケーションは、Qtプラットフォームプラグインを見つけたり読み込めなかったため起動できませんでした。」というウィンドウが表示されていました。 – Phil

2

Qt Creatorでデバッグ(F5)を実行しているときに呼び出されるDLLを確認することで、必要なDLLを確認できます。 = Carl

+0

興味深いことに、私はVisual Studioプラグインを使って開発していますが、次回に依存性の問題に取り組んでいるときにこのオプションを検討します。 – Grambot

関連する問題