qtmain.libの謎

QtでWindowsGUIアプリケーションを作ってて疑問に思ったことがひとつ.

Qtはmainから処理を開始するのですが,WindowsGUI開発するときのエントリポイントといえばWinMainです.

エントリポイントが標準じゃないせいで移植性の問題が発生するんですが,QtはWinMainをqtmain.libというスタティックライブラリ(デバッグビルドではqtmaind.lib)に隠蔽して,表面上はmainから処理しているように見せています.

ところが,ここで問題がひとつ.

もしLGPL版のQtを使ってクローズドで開発しているとして,スタティックであるqtmain.libをリンクしてしまったらLGPL的にアウトじゃないでしょうか.

そう思って公式を見たら,案の定説明されていました.


The qtmain Library - Qt Developer Network


どうやら,qtmain.lib(の中のコード)に関してはGPLLGPL,QtCLは適用されず,BSDライセンスが適用されるみたいです.

ということはクローズドなソフトウェアでもqtmain.libは組み込んじゃってOK! ということなんでしょうね.