web-dev-qa-db-ja.com

エグゼファイルはQtCreatorなしでは実行されません

インストールしましたQt 5.0.1 for Windows 32ビット(MinGW 4.7、823 MB)

次に、簡単なQuick2アプリケーションを作成してコンパイルしました。アプリケーションはそのフォルダーにあり、アプリケーションはQtCreatorから実行されます。そして、QtCreatorなしでこのexeファイルを実行したいと思います。これを行うには、ファイルをC:\ Qt\Qt5.0.1\5.0.1\mingw47_32\binからコピーします。

  1. Qt5Core.dll
  2. icuin49.dll
  3. libgcc_s_sjlj-1.dll
  4. libwinpthread-1.dll
  5. libGLESv2.dll
  6. libstdc ++-6.dll
  7. qminimal.dll
  8. Qt5Gui.dll
  9. Qt5Network.dll
  10. Qt5Qml.dll
  11. Qt5Quick.dll
  12. Qt5V8.dll
  13. qwindows.dll

そして、エラーが発生します:

Точкавходавпроцедуру_ZN6icu_4910CharString15getAppendBufferEiiRiR10UErrorCodeненайденавбиблиотекеDLL icuuc49.dll

翻訳:

プロシージャエントリポイント_ZN6icu_4910CharString15getAppendBufferEiiRiR10UErrorCodeがライブラリに見つかりませんDLL icuuc49.dll

ExeファイルをフォルダC:\ Qt\Qt5.0.1\5.0.1\mingw47_32\bin(すべてのdllはどこにありますか)にコピーすると、プログラムは実行されますが、何も表示されません。

ExeファイルをフォルダーC:\ Qt\Qt5.0.1\Tools\QtCreator\bin(すべてのdllがあります)にコピーすると、プログラムが実行されません。

何をすべきか?プログラムを実行するためにどこでどのライブラリを使用しますか?

解決済みC:\ Qt\Qt5.0.1\5.0.1\mingw47_32\binからのライブラリの最終リスト:

  1. icuin49.dll
  2. icuuc49.dll
  3. libEGL.dll
  4. libgcc_s_sjlj-1.dll
  5. libGLESv2.dll
  6. libstdc ++-6.dll
  7. libwinpthread-1.dll
  8. Qt5Core.dll
  9. Qt5Gui.dll
  10. Qt5Network.dll
  11. Qt5Qml.dll
  12. Qt5Quick.dll
  13. Qt5V8.dll

そして、qmlファイルを含むフォルダーを追加するのを忘れました。

13
Harrix

実行可能ファイルを、新しく作成したデスクトップのように、ニュートラルディレクトリに配置します。次に、 dependency walker を実行します。不足しているライブラリのリストが表示されます。まずはQt5Core.dlllibgcc_s_sjlj-1.dllそしてあなたが指定したものは不足しているものの1つになります。システム上でそれらを見つけて、このディレクトリに1つずつコピーする必要があります。不足しているもののほとんどは、指定したディレクトリ(C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin)。他のものが見つからない場合は、リストで質問を編集してください。

注:

一般的な場合の欠落ファイルのタイプ:

  • Qtライブラリ。 Qtが静的としてコンパイルされた場合、それらは表示されないはずです
  • その他のライブラリQtは次のものに依存します:たとえばOpenSSL。 Qtとこのライブラリの両方が静的な場合は表示されません
  • コンパイラライブラリ:ex、gcc libgcc_s_sjljOPの場合。それらは通常動的であり、ライブラリ検索パスにまだ存在しない場合はコピーする必要があります。
17
UmNyobe