単純な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
をコピーしました。
デバッグを表すdll名のd
に注意してください: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の名前が異なることです。