23

私はクローズド ソース アプリケーションを開発しています。そのためには、LGPL に従って、Qt のライブラリをアプリケーションに動的にリンクする必要があります。Qtはデフォルトでこれを行いますか、それともそうするために手順を踏む必要がありますか? その場合、私はどのようにそれを行うつもりですか?

4

2 に答える 2

27

Qt はデフォルトで動的リンクを使用します。

コードは Qt ライブラリなしでは実行されないため、非開発者マシンへの展開中にすぐにこれに気付くでしょう。

問題が LGPL である場合は、Qt 自体をコンパイルするときに注意してください。Qt での LGPL 違反のほとんどは、静的リンクが原因ではなく (動的がデフォルトであるため)、デフォルト以外のパラメーターを使用して Qt をコンパイルするためです。

LGPL は、バイナリに沿ってライブラリを提供する必要があるというだけでなく、ユーザーが LGPL 部分を自分で構築する方法を指定することでもあります。Qt を自分でコンパイルし、Web サイトからコンパイル済みのバイナリを使用しない場合は、リリースでビルド構成のその部分を文書化する必要があります。

プログラムで何かを実行できるようになったらすぐに、Qt がインストールされていない非開発者環境用のリリース バージョンの準備を開始します。プログラムに沿ってコピーする必要がある DLL (または OS が使用する形式) を削除すると、プログラムはすぐに失敗するはずです。

于 2012-07-23T07:33:31.830 に答える
1

それはデフォルトでそれを行います.静的リンクは、それに関するサイトの多くの質問から判断すると、かなり複雑であるようです.

于 2012-07-23T07:06:52.937 に答える