Qt Creatorにインクルードパスを追加するにはどうすればよいですか?


160

Qtクリエイターで取り組んでいるプロジェクトで、サードパーティのライブラリが必要です。プロジェクトのインクルードパスにヘッダーを追加したいのですが。どうすればよいですか?

回答:


231

標準のQtビルドシステムであるqmakeを使用している場合.proは、qmake変数リファレンスに記載されているように、ファイルに行を追加するだけです。

INCLUDEPATH += <your path>

独自のビルドシステムを使用している場合は、[Makefileベースのプロジェクトのインポート]を選択してプロジェクトを作成します。これにより、という名前のファイルを含む、プロジェクトディレクトリにいくつかのファイルが作成されます<your project name>.includes。そのファイルに、含めたいパスを1行に1つずつリストします。これが実際に行うことは、Qt Creatorに自動補完のためにインデックスを作成するファイルを探す場所を伝えることです。独自のビルドシステムは、独自の方法でインクルードパスを処理する必要があります。

Qt Creatorをマニュアルで説明し<your path>絶対パスでなければなりませんが、あなたはあなたの中にOS-、ホストベースまたはユーザー固有のエントリを避けることができます.pro使用して、ファイル$$PWD、あなたの入っているフォルダを参照する.proファイルを、例えば

INCLUDEPATH += $$PWD/code/include

2
はい。これでうまくいきます。インクルードパスのグローバル設定はありますか?
ネイサンオスマン、

私が知っているわけではありませんが、それが存在しないという意味ではありません。そのようなオプションには何も表示されません。
ジェイソンB

3
気にしないで。あなたの答えは言及してINCLUDE_PATHいますが、あなたが意味したINCLUDEPATH。私はあなたの答えを修正します:)
Nathan Osman

6
バグがあるQMAKE_CXXFLAGSため、代わりに変数を使用することをおINCLUDEPATH勧めします(少なくとも現時点では-QT5)。INCLUDEPATH += ../../../つまり、を含めたとき、QTはこのパスでランダムに選択されたディレクトリを選択し、コンパイラーはオプションを取得しました-I../../../GUI
Hi-Angel

4
@ Hi-Angel:INCLUDEPATH指定されているのはビルドディレクトリに関連しているように見えます.pro。回答の編集で示したように、 `$$ PWD 'を使用して、インクルードパスを開始する明確に定義されたフォルダーを取得できます。
ssc 2014

6

グローバルインクルードパスを追加するには、次のように「追加の引数」の「プロジェクト/ビルド/ビルドステップ」セクションでqmakeのカスタムコマンドを使用します。 "QT+=your_qt_modules" "DEFINES+=your_defines"

この方法で* .proファイルから任意のコマンドを使用できると思います。


5

私のようなQt Creatorを完全に初めて使用する人は、Qt Creator内からプロジェクトの.proファイルを変更できます。

ここに画像の説明を入力してください

「プロジェクト」ウィンドウで「your project name」.proをダブルクリックして、.proファイルの下部にインクルードパスを追加します。


5
絶対ファイルパスを使用することは非常に悪い考えです。常に相対ファイルパスシステムを使用するようにしてください。QTはクロスプラットフォームになるように設計されています。Linuxマシンで同じコードをコンパイルすると、コンパイラはC:\などのファイル名を見つけることができません。さらに、ソースフォルダーの名前を変更したり、自分のコンピューターの別の場所に移動したりしても、失敗します。は毎回.proファイルを編集する必要があります
Shivam Jha

0

カスタムMakefileを使用する場合は、.includesファイルをダブルクリックして、そこに追加できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.