単純なQtプロジェクトをHelloWorldのようにデプロイしようとしています。
正常にビルドでき、Qt-Creatorでも実行できます。ただし、共有ライブラリエラーが原因で、リリースフォルダでバイナリを直接実行できません。
そのため、qtcore.dllやqtgui.dllなどの重要なライブラリをリリースフォルダにコピーするだけですが、それでも実行できません。
簡単なQtプロジェクトをデプロイするにはどうすればよいですか?それを展開するための別のステップはありますか?
単純なQtプロジェクトをHelloWorldのようにデプロイしようとしています。
正常にビルドでき、Qt-Creatorでも実行できます。ただし、共有ライブラリエラーが原因で、リリースフォルダでバイナリを直接実行できません。
そのため、qtcore.dllやqtgui.dllなどの重要なライブラリをリリースフォルダにコピーするだけですが、それでも実行できません。
簡単なQtプロジェクトをデプロイするにはどうすればよいですか?それを展開するための別のステップはありますか?
また、MINGWランタイムdll(mingwm10.dll
)をデプロイする必要があります。このファイルはあなたのQt\2009.5\mingw\bin
ディレクトリにあります。
また、アプリケーションがデバッグモードでコンパイルされているかリリースモードでコンパイルされているかにも注意してください。helloworldタイプのアプリケーションとQtCreatorを使用してテストを行いました。フォルダに、、、をdebug
コピーしましたlibgcc_s_dw2-1.dll
が、動作します。mingwm10.dll
QtCored4.dll
QtGuid4.dll
d
デバッグを表すdll名に注意してください。QtCore
d
4.dll
Qt 4.6:Windowsでのアプリケーションのデプロイを参照してください。Qt 5については、このページを確認してください。
qt / mingw dllとの依存関係を持たせたくない場合は、ここで説明するようにqtを静的にコンパイルする必要があります:http://qt.nokia.com/doc/4.6/deployment-windows.html#static-linking。
静的リンクを使用することもでき.pro
ます。ファイルに次の行を追加するだけです。
QMAKE_LFLAGS += -static-libgcc
ここで解決策を見つけ、QTクリエーター2.2.0を使用してWinXPで正常にテストしました
その上で依存関係ウォーカー(http://dependencywalker.com/)を実行して、どのdllが欠落しているかを確認してみてください。
通常、Qtのインストールによりこれらのライブラリがパスに追加されるはずなので、これらのQtライブラリをローカルフォルダに移動する必要はありません。
1つの可能性は、デバッグをビルドし、Qtデバッグdllの名前が異なることです。
すべてのqtdllをWindowsディレクトリに直接「C:\ Windows \」コピーすると、qt dllエラーが100%機能し、単純なnbになりません。Windowsディレクトリにqtdllフォルダを作成しないでください。そのまま投稿してください。