私のアプリには、logic.dllとGUI.dllの2つのプロジェクトがあります。現在、そのサイズは1MBですが、依存関係dllのため、アプリ全体のサイズは60MB以上です。
QT-LGPLライセンスについて読んだことがありますが、ライセンス料を支払わずにアプリをクローズドソースで商用化できるようにするには、動的にコンパイルする必要があることを知っています。
私の質問は:
1> GUIプロジェクトを静的にコンパイルして、ダイナミックライブラリGUI.dllと、LGPLの下でGUI.cppのパブリックコードまたはオブジェクトファイルを作成できますか?
2>次に、LGPLの下でGUI.dllを使用してロジックプロジェクトを動的にコンパイルし、logic.cppをクローズドソース(もちろん商用アプリの場合)に保ちますか?
GUIプロジェクトが、オブジェクトファイルだけでなくソース全体を含むLGPLの条件に従ってリリースされ、ロジックアプリケーションで動的にリンクされている場合は、問題ありません。
LGPLライブラリに動的に直接リンクするか、ソフトウェアのユーザーがLGPLライブラリを変更してアプリケーションで変更されたバージョンを使用できる他のLGPL準拠のメカニズムを提供する必要があります。
QTを使用する場合は、通常の人のように動的にリンクするだけです。