web-dev-qa-db-ja.com

ダイナミックライブラリとしての静的リンクGUIプロジェクト

私のアプリには、logic.dllとGUI.dllの2つのプロジェクトがあります。現在、そのサイズは1MBですが、依存関係dllのため、アプリ全体のサイズは60MB以上です。

QT-LGPLライセンスについて読んだことがありますが、ライセンス料を支払わずにアプリをクローズドソースで商用化できるようにするには、動的にコンパイルする必要があることを知っています。

私の質問は:

1> GUIプロジェクトを静的にコンパイルして、ダイナミックライブラリGUI.dllと、LGPLの下でGUI.cppのパブリックコードまたはオブジェクトファイルを作成できますか?

2>次に、LGPLの下でGUI.dllを使用してロジックプロジェクトを動的にコンパイルし、logic.cppをクローズドソース(もちろん商用アプリの場合)に保ちますか?

1
MarkJoy

GUIプロジェクトが、オブジェクトファイルだけでなくソース全体を含むLGPLの条件に従ってリリースされ、ロジックアプリケーションで動的にリンクされている場合は、問題ありません。

LGPLライブラリに動的に直接リンクするか、ソフトウェアのユーザーがLGPLライブラリを変更してアプリケーションで変更されたバージョンを使用できる他のLGPL準拠のメカニズムを提供する必要があります。

QTを使用する場合は、通常の人のように動的にリンクするだけです。

1
whatsisname