17

単純なQtプロジェクトをHelloWorldのようにデプロイしようとしています。

正常にビルドでき、Qt-Creatorでも実行できます。ただし、共有ライブラリエラーが原因で、リリースフォルダでバイナリを直接実行できません。

そのため、qtcore.dllやqtgui.dllなどの重要なライブラリをリリースフォルダにコピーするだけですが、それでも実行できません。

簡単なQtプロジェクトをデプロイするにはどうすればよいですか?それを展開するための別のステップはありますか?

4

5 に答える 5

19

また、MINGWランタイムdll(mingwm10.dll)をデプロイする必要があります。このファイルはあなたのQt\2009.5\mingw\binディレクトリにあります。

また、アプリケーションがデバッグモードでコンパイルされているかリリースモードでコンパイルされているかにも注意してください。helloworldタイプのアプリケーションとQtCreatorを使用してテストを行いました。フォルダに、、、をdebugコピーしましたlibgcc_s_dw2-1.dllが、動作します。mingwm10.dllQtCored4.dllQtGuid4.dll

dデバッグを表すdll名に注意してください。QtCore d 4.dll

Qt 4.6:Windowsでのアプリケーションのデプロイを参照してください。Qt 5については、このページを確認してください。

于 2009-12-22T16:10:59.840 に答える
11

qt / mingw dllとの依存関係を持たせたくない場合は、ここで説明するようにqtを静的にコンパイルする必要があります:http://qt.nokia.com/doc/4.6/deployment-windows.html#static-linking

于 2009-12-22T16:17:46.000 に答える
2

静的リンクを使用することもでき.proます。ファイルに次の行を追加するだけです。

QMAKE_LFLAGS += -static-libgcc

ここで解決策を見つけ、QTクリエーター2.2.0を使用してWinXPで正常にテストしました

于 2011-06-18T19:03:40.647 に答える
1

その上で依存関係ウォーカー(http://dependencywalker.com/)を実行して、どのdllが欠落しているかを確認してみてください。

通常、Qtのインストールによりこれらのライブラリがパスに追加されるはずなので、これらのQtライブラリをローカルフォルダに移動する必要はありません。

1つの可能性は、デバッグをビルドし、Qtデバッグdllの名前が異なることです。

于 2009-12-22T15:59:37.127 に答える
-6

すべてのqtdllをWindowsディレクトリに直接「C:\ Windows \」コピーすると、qt dllエラーが100%機能し、単純なnbになりません。Windowsディレクトリにqtdllフォルダを作成しないでください。そのまま投稿してください。

于 2013-02-26T15:44:24.527 に答える