1

私はプロジェクトのために C++ を使用しており、Qt フレームワークを使用して私を助けています。ただし、私はいくつかの厄介な問題に取り組んでおり、誰かがここで私を助けてくれることを願っています. これが私がこれまでに持っているものです」

  • Qt を使用して C++ アプリケーションを作成しました
  • アプリケーションをコンパイルし、最終的な .exe ファイルを送信しました

また、アプリケーションをテストするために、別の非開発用 OS をインストールしました。テスト OS では、Qt ライブラリをインストールするだけで、アプリケーションは問題なく動作しました。

しかし、私のアプリケーションの一部のユーザーは、アプリケーションの実行に問題があります。それらの一部はQtをインストールしましたが、アプリケーションは必要な.dllファイルを見つけることができません。または、Qtを正常にインストールした場合でも、Qt自体に他の依存関係があるため、アプリケーションは失敗します。または、それらは 64 ビットですが、私のアプリケーションは 32 ビットです... そのため、64 ビットの Qt ライブラリは私のアプリケーションでは動作しません。

したがって、私が考えているのは、基本的に、アプリケーションをスムーズに実行するために必要なすべての .dll ファイルのツリーを取得し、それらすべてを .exe アプリケーションの一部として含めることです。

確かにファイル サイズは大きくなりますが、少なくともアプリケーションに必要なものがすべて揃っていることを知っていると安心できます。

私は静的/動的リンクなどについてもっと読んでいます...しかし、C++の世界では少し異なります。ライブラリを指定し、コンパイル中にC++が必要なライブラリを最終製品にコピーする、Javaに似たC++のシステムはありますか?

4

2 に答える 2

0

実行可能ファイルのリリース バージョンに沿って Qt DLL を配置する必要があります。これらは QtCore4.dll、QtGui4.dll (Qt5 の場合は Qt5Core.dll、Qt5Gui.dll、...) であり、使用した他のモジュールの場合もあります。これらの dll ファイルは、インストールされた Qt ディレクトリの bin フォルダーにあります。

MSVS2010 を使用している場合は、msvcr100.dll と msvcp100.dll も配置する必要があります。

プラグインを使用している場合は、exe の横にある「plugins」という名前のフォルダーにその dll を配置する必要があります。アイコンと画像を使用する場合は、qico4.dll や qsvg4.dll (Qt5 の場合は qico.dll と qsvg.dll) などの dll を「imageformats」という名前のフォルダーに入れる必要があります。

于 2014-06-15T09:45:39.273 に答える