「Qtの設定 - リリース」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
37行目: 37行目:
* LGPLライセンスの動的ライブラリを暗黙的リンクで使用する場合、ソフトウェアのソースファイルおよびオブジェクトファイルを公開する。<br><u>動的ライブラリを明示的リンクで使用する場合は、公開しなくても構わない。</u>
* LGPLライセンスの動的ライブラリを暗黙的リンクで使用する場合、ソフトウェアのソースファイルおよびオブジェクトファイルを公開する。<br><u>動的ライブラリを明示的リンクで使用する場合は、公開しなくても構わない。</u>
* 無償版のQtで開発したソフトウェアのリバースエンジニアリングを禁止してはならない。
* 無償版のQtで開発したソフトウェアのリバースエンジニアリングを禁止してはならない。
* 無償版のQtで開発したソフトウェアは、有償版のQtライセンスに移行できず、無償版のQtライセンスのままとなる。
* 同一プロジェクト内で、有償版Qtを使用する開発者がいる場合、他の開発者が無償版Qtを使用することはできない。<br>Qtを使用して作成したソースコードに共通部分がある場合、同一プロジェクトとみなされる。
* 無償版のQtで開発したライブラリは、ソースコードを開示しなければならない。
* 無償版のQtで開発をした後、同一プロジェクトを有償版のQtに移すことはできない。
* Qt 5.7以降において、Qt WebEngineの一部とQt SerialPortを除いたLGPL v2.1が適用されているすべての既存モジュールが、LGPL v3に変更されている。<br>また、Qt 5.7以降のQt Charts、Qt Data Visualization、Qt Virtual Keyboard、Qt Purchasing、Qt Quick 2D Rendererの各モジュールはGPL v3で提供されている。
<br>
<br>
LGPLライセンスの静的ライブラリを使用しない場合、ソフトウェアのソースコードは公開しなくてもよい可能性が高い。<br>
LGPLライセンスの静的ライブラリを使用しない場合、ソフトウェアのソースコードは公開しなくてもよい可能性が高い。<br>

2021年2月7日 (日) 05:38時点における版

概要

Qt Creatorにおいて、ソフトウェアをデプロイ(Releaseモードでビルド)する手順を記載する。


リリース方法

QtプロジェクトをReleaseモードに設定するには、Qt Creatorのメイン画面左にある[プロジェクト] - [ビルド設定]から"Release"を選択する。
この状態において、Qtプロジェクトをビルドまたはリビルドすることにより、ソフトウェアをデプロイすることができる。

もし、デプロイしたソフトウェアを実行した時、以下のようなエラーが出力される場合がある。

xxx.soファイルがないためプログラムを開始できません。
または
xxx.dllファイルがないためプログラムを開始できません。


この時、以下のコマンドを実行して、どのようなライブラリが欠如しているかを確認する。
必要なライブラリの一覧が出力されるので、エラーメッセージにしたがって、必要なライブラリを実行ファイルと同じディレクトリに配置する。

objdump -p <実行ファイル名> | grep -iE "(\.so|\.dll)"


PC環境や使用する機能によって、必要なライブラリが異なる。
例えば、SVG機能を使用する場合、Qt5Svg.dllを配置する。

Windowsの場合、必要なライブラリを確認するには、Dependency Walkerを使用することを推奨する。
http://www.dependencywalker.com/

Dependency Walkerは、メイン画面左に必要なライブラリの一覧、メイン画面右に各ライブラリで使用している関数の情報が表示される。
欠如しているライブラリは赤で表示されるため、その情報を元にライブラリを配置することができる。

また、ライブラリで定義されていないにも関わらず使用されている関数は赤で表示されるため、その情報からエラーの原因を探ることにも役立つ。


QtのLGPLライセンスについて

Qtには、商用利用できる有償版とLGPLライセンスの無償版の2種類が提供されている。

無償版のQtでは、無料で配布可能なソフトウェアを開発できるが、守るべき事項がいくつかある。

  • Qt 4.5以降でLGPL版が使える。
  • LGPL版を使っていることを明記する。
  • LGPLライセンスの静的ライブラリを使用する場合、ソフトウェアのソースファイルおよびオブジェクトファイルを公開する。
  • LGPLライセンスの動的ライブラリを暗黙的リンクで使用する場合、ソフトウェアのソースファイルおよびオブジェクトファイルを公開する。
    動的ライブラリを明示的リンクで使用する場合は、公開しなくても構わない。
  • 無償版のQtで開発したソフトウェアのリバースエンジニアリングを禁止してはならない。
  • 同一プロジェクト内で、有償版Qtを使用する開発者がいる場合、他の開発者が無償版Qtを使用することはできない。
    Qtを使用して作成したソースコードに共通部分がある場合、同一プロジェクトとみなされる。
  • 無償版のQtで開発をした後、同一プロジェクトを有償版のQtに移すことはできない。
  • Qt 5.7以降において、Qt WebEngineの一部とQt SerialPortを除いたLGPL v2.1が適用されているすべての既存モジュールが、LGPL v3に変更されている。
    また、Qt 5.7以降のQt Charts、Qt Data Visualization、Qt Virtual Keyboard、Qt Purchasing、Qt Quick 2D Rendererの各モジュールはGPL v3で提供されている。


LGPLライセンスの静的ライブラリを使用しない場合、ソフトウェアのソースコードは公開しなくてもよい可能性が高い。

上記に記載したことを守れば、無償版のQtで開発したソフトウェアでも商用利用することができる。