0

Qt ライブラリを使用して移植可能な C++ アプリケーションを作成しました。これは、メモリの問題を危険にさらすことなく、コンパイルに MT フラグを使用できないことを意味します。

これにより、2つのオプションが残ります。

1) インストーラーを使用してポータブル アプリケーションを展開します。

2) C++ の依存関係を同じフォルダー内にパッケージ化するか、プライベート アセンブリを使用します。

1 と 2 の両方が移植可能なソフトウェアのアイデアを無効にするため、3 番目のオプションを考えていました。

3) アプリケーションを起動する前に、IExpress を使用して C++ の依存関係を削除します。終了時に、C++ 依存関係を削除します。

残念ながら、オプション 3 は、一部のスタックオーバーフロー メンバーから批判を受けています。彼らはオプション 2 を嫌うので、オプション 1 しか残されません。移植可能なインストーラーを使用すれば、オプション 1 が実行可能であることがわかります。

ポータブルインストーラーのようなものはありますか? 基本的に、アプリケーションを実行する前に (通常のインストーラーと同様に) 必要な依存関係がインストールされているかどうかをインストーラーに確認してもらい、インストールされている場合は、アプリケーションの実行を続行します。それ以外の場合は、URL へのリンクを提供してダウンロードできるというメッセージ ボックスをユーザーに提供します。C++ でこれを実行できる独自のインストーラーを作成できることは承知していますが、この特定の機能を既に提供しているインストーラーがあるかどうか疑問に思っていました。

4

1 に答える 1

0

http://qt-project.org/doc/qt-4.8/deployment.html

Windows の Qt 用の dll は非常に小さいため、アプリケーションと共にそれらを展開することは、私の意見では問題ではありません。

Qt dll を Windows 上の別のプログラムが後で見つける場所 (c:/Windows/system32 など) に配置することを私が知っているプログラムはありません。

ライブラリの再利用を期待できる唯一の場所は、Linux または多くの Qt アプリを搭載したモバイル デバイスであると思います。ただし、その場合でも、使用しているすべての機能をサポートするために、ライブラリのバージョンが十分に高いことを確認する必要があります。

それが役立つことを願っています。

于 2013-04-08T22:55:43.507 に答える