サードパーティライブラリ
Qtでサードパーティライブラリを使うのは簡単です。例えば、猫の鳴き声の音声サンプルを受け取り、それを英単語に翻訳するクロスプラットフォーム・ライブラリを知っているとします。このライブラリはCatWhisperer
という名前で、ライブラリの一部として提供するいくつかのファイルを持っています。あなたのプロジェクトMyQtApp
は、これらのファイルを3rdparty
という名前のフォルダに保存しています:
- MyQtApp/
- MyQtApp.pro
- src/
- main.cpp
- サードパーティ
- キャットウィスパラー
- インクルード
- CatWhisperer.h
- lib/
- libCatWhisperer.so
- CatWhisperer.lib
- bin/
- CatWhisperer.dll
- インクルード
- キャットウィスパラー
MyQtApp
でCatWhisperer
ライブラリを使うには、qmake
にCatWhisperer
ライブラリの場所と名前が必要です。オプションで、次のこともできる:
CatWhisperer
のソースコードの場所を指定することで、自分のコードにインクルードする際に各ファイルへのフルパスを入力する必要がなくなります。MyQtApp
実行ファイルの作成先を選択します。
上記の情報は、qmake
が解析してメイクファイルを作成できるように、.pro
ファイルで提供されます。メイクファイルには、コンパイラやリンカが実行ファイルや別のライブラリファイルなどの出力を生成するために必要なすべての情報が含まれています。次のセクションでは、qmake
がこれらの情報を提供するために期待する構文について説明します。
ソース・コード
の代わりに
#include <CatWhisperer.h>
の代わりに
#include <3rdparty/CatWhisperer/include/CatWhisperer.h>
の代わりに記述できるようにするには、INCLUDEPATH変数を使用して、CatWhisperer
include
ディレクトリへのパスを指定します:
INCLUDEPATH += 3rdparty/CatWhisperer/include
ライブラリファイル
CatWhisperer
ライブラリ・ファイルの場所をqmake
に知らせるには、LIBS変数を使用する:
LIBS += -L"3rdparty/CatWhisperer/lib" -lCatWhisperer
式の最初の部分は、リンカにどのディレクトリでライブラリ・ファイルを探せばよいかを知らせる。二重引用符は、パスにスペースが含まれている場合にのみ必要なので、この例では省略できます。
2番目の部分は、リンカーにリンクするライブラリを指定します。UNIX プラットフォーム用と Windows 用に、それぞれlibCatWhisperer.so
とCatWhisperer.lib
という 2 種類のライブラリ・ファイルを用意しています。.lib
という拡張子や、lib
という接頭辞(UNIX プラットフォームの場合)を指定する必要はありません。
インストール先ディレクトリ
デフォルトでは、qmake
は実行ファイルを.pro
ファイルと同じディレクトリに作成します。DESTDIR変数を使って、任意のディレクトリを選択することができる:
DESTDIR = bin
以上である!これで、プロジェクトでCatWhisperer
。最終的な.pro
ファイルはこのようになります:
TARGET = MyQtApp TEMPLATE = app INCLUDEPATH += 3rdparty/CatWhisperer/include SOURCES += src/main.cpp LIBS += -L"3rdparty/CatWhisperer/lib" -lCatWhisperer
qmake Manualと Qt Creator: Add Libraries toProjectsも参照してください 。
© 2025 The Qt Company Ltd. 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.