web-dev-qa-db-ja.com

Qtアプリケーションの実行可能ファイルを作成する方法は?

私はこれについていくつかの有用で明確な情報をインターネットで検索してきました、そのような些細なことを行うのがとても難しいのは不愉快です。

他のコンピューターで実行するために、Qtプロジェクトの実行可能ファイルを作成する必要があります。私のプロジェクトはQt Creatorでうまく動作しますが、リリースフォルダーに作成された実行可能ファイルを実行しようとすると、一部のdllが見つからないというエラーが発生し、それらすべてを.exeの同じディレクトリに置いても、いくつか取得しましたDLL(QtCore4.dll)内のプロシージャのエントリポイントに関するエラー。

ソリューションは静的リンクのように見えますが、私はそれについて多くの情報を見つけましたが、それらのどれも本当に私を助けませんでした。これが私がこれまでに試したことです:

  • 上記で述べたように、リリースフォルダーに作成された実行可能ファイルを使用します。
  • 静的リンク、このチュートリアル(および他の多くのすべて、ほぼ同じもの)に従います: http://doc.qt.io/qt-4.8/deployment-windows.html しかし、次のエラーが発生します"configure -static"の実行中:NMAKE:致命的なエラーU1077: '"c:\ Arquivos de programas\Microsoft Visual Studio 9. 0\VC\BIN\cl.EXE"':リターンコード '0x2'停止。 qmakeのビルドに失敗しました。戻りコード2

そのため私は解決策を見つけることができなかったので、私はここで、私のQtプロジェクトの実行可能ファイルを作成しようとしています。

18
Paulo Facó

基本的に、qtユーティリティが存在するqtツリーの奥深くにmingwサブフォルダーを探し、必要なDLLをコピーする必要があります。

これらは、QT 4.7.4に基づいて、正しい共有ライブラリを使用してアプリケーションをパッケージ化するために実行する手順です。

  1. QTをc:\ qtsdkにインストールしたとしましょう
  2. プロジェクトを開き、リリースモードでコンパイルします。
  3. 次のディレクトリに移動します:C:\ QtSDK\Desktop\Qt\4.7.4\mingw\bin-すべての共有ライブラリが含まれています。デバッグライブラリは「d」で終了します-frex、QtCore.dllはリリースバージョン、QtCoreD.dllはデバッグバージョン
  4. 少なくともこれらのファイルをリリースディレクトリ(.exeがある場所)にコピーします。

    • mingwm10.dll
    • libgcc_s_dw2-1.dll
    • QtCore4.dll
    • QtGui4.dll

    この方法でダミープロジェクトをビルド、テスト、デプロイしました。

16
Max Lambertini

これが私がやったことであり、しばらくして動作するようになりました。プログラムがQtcreator内でビルドされることを確認した後、exeが含まれているディレクトリに移動し、それをダブルクリックします(私はWindowsを使用していて、わかりません他のプラットフォームでも同じ場合)どの.dllが欠落しているかを示すウィンドウがポップアップ表示されます.Qtがインストールされているディレクトリに移動し、検索バーに正確な名前を入力します(Windows 7の右上)とdll検索結果に表示されます。右クリックして、開いているファイルの場所を選択します。exeが配置されているファイルをコピーします。exeをもう一度ダブルクリックします。別の.dllが見つからない場合は、同じものが何もなくなるまで繰り返します。最後に、プログラムが実行されます。お役に立てれば。

3
gakwaya

Qt SDKをダウンロードして、Qtライブラリをアプリケーションに静的にリンクしたいですか?

まず、静的にリンクする場合、Qt * .dllはアプリケーションに組み込まれているため、どこに存在する必要もありません。つまり、それだけで、アプリケーションは動的リンクを使用して構築されます。

私の経験から、それをすべて機能させる最も安全な方法は次のとおりです。

Qtソースをダウンロードし、nmakeを使用してビルドおよびインストールします(メニューの[スタート]-> [アプリケーション]-> [Visual Studio 2008]からVisual Studioコマンドプロンプトを使用)。静的にリンクされたアプリケーションのサイズは* .libsのサイズに依存し、これらはビルド前の構成に依存することを覚えておいてください。たとえば、いくつかの機能をオフにすることでアプリケーションのサイズを最小化できます(これはMacOSXの設定例です。Windowsに固有の設定に注意して、適切なプラットフォームを追加してください-詳細はconfigure.exe --helpを参照してください):

./configure -Arch x86 -platform macx-g++ --universal -cocoa -debug-and-release -opensource -static -fast -no-accessibility -no-sql-sqlite -no-qt3support -no-opengl -no-openvg -qt-zlib -no-gif -no-libmng -qt-libmng -no-libtiff -qt-libjpeg -no-3dnow -sse -no-sse2 -no-openssl -no-dbus -no-phonon -no-multimedia -no-audio-backend -webkit -no-script -no-scripttools -no-declarative -nomake demos -nomake examples -no-exceptions -no-accessibility -confirm-license

Qtプロジェクト用のVisual Studioアドインをインストール、セットアップ、および使用します( ここ )。

幸運を! :)

2
vizZ