以前に作成したヘッダーがいくつかあり、それらを Qt プロジェクトに含めたいと考えています。それらを適切な場所にコピーせずに、どうすればそれを行うことができますか?
「既存のファイルを追加...」でそれらを追加した後、ヘッダーを #include できないようです。#include "header.h" も #include "fullpath/header.h" も機能しません。
以前に作成したヘッダーがいくつかあり、それらを Qt プロジェクトに含めたいと考えています。それらを適切な場所にコピーせずに、どうすればそれを行うことができますか?
「既存のファイルを追加...」でそれらを追加した後、ヘッダーを #include できないようです。#include "header.h" も #include "fullpath/header.h" も機能しません。
INCLUDEPATH
を .pro ファイルに追加する必要があります。
INCLUDEPATH += ...
#include <...>
次に、構文 (not )を使用してヘッダーをインクルードできます"..."
。これは、コンパイラが、プロジェクトのソース フォルダーである現在の作業ディレクトリではなく、インクルード パスでヘッダーを検索するためです。
プロジェクトのソース フォルダー内からの相対パスではなく、インクルード パス内のヘッダーの相対パスを使用します。
#include <header.h>
ちなみに、ヘッダーをプロジェクトに追加する必要があるのは、ヘッダーが Qt メタ オブジェクト システムを使用する Qt ヘッダーである場合のみです。QObject 派生クラスを定義するものは に渡されますmoc
。これが、Qt プロジェクトがヘッダーを指定する必要がある理由です。#include
実際のコンパイル プロセスでは、プロジェクト内にどのヘッダーがあるかを知る必要はありません (ディレクティブを検出したときにそれらを含めるだけです)。