1

ユーザーに依存しないアプリを作りたいです。dllファイルをexeと同じフォルダーに入れるとうまく機能します。これらすべてのライブラリを静的に設定しようとしていますが、pro ファイル (Qt 4.8.1) で次のコードを使用します。

QMAKE_LFLAGS += -static-libgcc
CONFIG += static

前のコードは何も変更しません。

プロジェクトフォルダーに含めたdllファイルは次のとおりです。

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

実際のところ、私は自分のアプリをファイル以上のものにしたくありません。また、重い libs ファイル (最後のファイルは 9mB) をユーザーにダウンロードさせたくありません。

Qt プロジェクトをコンパイルして静的ライブラリを使用する方法はありますか?

インターネットで見つけたいくつかのチュートリアルを読もうとしましたが、それらはすべて古くなっています。私が読んだものでも、解決策はQtソースコードを静的に再構築することです。

4

2 に答える 2

1

Qt に対して完全に静的にコンパイルできるようにするには、フレームワークを静的として再構築する必要があります。商用ライセンスがあり、静的バイナリを取得できる場合を除き、コンパイル済みのフレームワークを使用するだけでは十分ではありません。

参照: http://www.formortals.com/how-to-statically-link-qt-4/http://www.formortals.com/build-qt-static-small-microsoft-intel-gcc-compiler /詳細については、http://doc.qt.nokia.com/4.7-snapshot/deployment.html#static-vs-shared-librariesを参照してください。

于 2012-06-04T13:52:46.850 に答える
0

コンパイル済みのライブラリをダウンロードします。プラットフォームに対してビルドする場合は、そのプラットフォームのクロスコンパイル ライブラリを使用します。これらのライブラリは Makefile で静的に [makefile の #INCLUDE および LIBS 変数で] リンクできます。唯一の欠点は、exe のサイズが大きくなることです。

于 2012-05-21T17:18:43.363 に答える