qtmain.libの謎
QtでWindowsのGUIアプリケーションを作ってて疑問に思ったことがひとつ.
Qtはmainから処理を開始するのですが,WindowsでGUI開発するときのエントリポイントといえばWinMainです.
エントリポイントが標準じゃないせいで移植性の問題が発生するんですが,QtはWinMainをqtmain.libというスタティックライブラリ(デバッグビルドではqtmaind.lib)に隠蔽して,表面上はmainから処理しているように見せています.
ところが,ここで問題がひとつ.
もしLGPL版のQtを使ってクローズドで開発しているとして,スタティックであるqtmain.libをリンクしてしまったらLGPL的にアウトじゃないでしょうか.
そう思って公式を見たら,案の定説明されていました.
The qtmain Library - Qt Developer Network
どうやら,qtmain.lib(の中のコード)に関してはGPL,LGPL,QtCLは適用されず,BSDライセンスが適用されるみたいです.
ということはクローズドなソフトウェアでもqtmain.libは組み込んじゃってOK! ということなんでしょうね.