qmakeプロジェクトへのライブラリの追加
Qtライブラリに加え、他のライブラリをプロジェクトに追加することもできます。その手順は、ライブラリの種類や保存場所によって異なります。
- システムライブラリ
- 独自のライブラリ
- サードパーティ製ライブラリ
Qt Creator プロジェクトのビルドとリンクが正常に完了すると、追加されたライブラリに対してコード補完や構文強調表示がサポートされます。
ライブラリは、現在のプロジェクトのビルドツリー内、または別のビルドツリー内に配置することができます。
qmake を使用してビルドするプロジェクトにライブラリを追加するには:
- [Projects] ビューで、プロジェクト名を右クリックしてコンテキストメニューを開き、[Add Library] を選択します。

- ライブラリの設定を指定します。

設定はライブラリのタイプによって異なります。
ライブラリの場所
システムライブラリは通常変更されることがなく、多くの場合デフォルトで検出されるため、ライブラリを追加する際に、ライブラリやそのインクルードファイルへのパスを指定する必要はありません。pkg-config を使用すると、コンパイル中にシステムライブラリを照会することができます。
独自のライブラリやサードパーティのライブラリについては、パスを指定する必要があります。Qt Creator は外部ライブラリのインクルードパスを推測しようとしますが、それを確認し、必要に応じて修正する必要があります。Qt Creator は、内部ライブラリのインクルードパスを自動的に追加します。
ターゲットプラットフォーム
すべてのライブラリについて、アプリケーション、ライブラリ、またはプラグインのターゲットプラットフォームを選択します。
リンク
ライブラリが静的リンクか動的リンクかを指定します。静的リンクされた内部ライブラリの場合、Qt Creator は、プロジェクトファイル (.pro) 内の qmake 変数PRE_TARGETDEPSの値として依存関係を追加します。
開発プラットフォーム
開発プラットフォームによっては、Qt Creator が一部のオプションを自動的に検出する場合があります。たとえば、macOS では、ライブラリの種類(Library またはFramework )を自動的に検出し、そのオプションを非表示にします。ただし、macOS 以外のプラットフォームで開発を行い、macOS 向けにプロジェクトをビルドしたい場合は、ライブラリの種類を指定する必要があります。
Windows でのデフォルトの慣例では、ライブラリのデバッグ版とリリース版は同じ名前ですが、通常は「debug」や「release」と呼ばれる異なるサブディレクトリに配置されます。ライブラリのパスにこれらのフォルダのいずれもない場合、ライブラリを別々のフォルダに配置するオプションを選択することはできません。
あるいは、デバッグ版のライブラリ名に文字「d」を追加することもできます。たとえば、リリース版が `example.lib` という名前の場合、デバッグ版は `exampled.lib` となります。デバッグ版にはこの文字を追加し、リリース版からは削除するように指定できます。ライブラリ名が「d」で終わる場合は、[Remove "d" suffix for release version ] オプションのチェックを外してください。
プロジェクトファイルの設定に関する詳細については、『qmake マニュアル: 他のライブラリの宣言』を参照してください。
関連項目 :チュートリアル:qmake での内部ライブラリの使用、プロジェクトへのサブプロジェクトの追加、CMake プロジェクトへのライブラリの追加、プロジェクトウィザードの使用、およびプロジェクトの作成。
Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.