2

以前に作成したヘッダーがいくつかあり、それらを Qt プロジェクトに含めたいと考えています。それらを適切な場所にコピーせずに、どうすればそれを行うことができますか?

「既存のファイルを追加...」でそれらを追加した後、ヘッダーを #include できないようです。#include "header.h" も #include "fullpath/header.h" も機能しません。

4

1 に答える 1

6

INCLUDEPATHを .pro ファイルに追加する必要があります。

INCLUDEPATH += ...

#include <...>次に、構文 (not )を使用してヘッダーをインクルードできます"..."。これは、コンパイラが、プロジェクトのソース フォルダーである現在の作業ディレクトリではなく、インクルード パスでヘッダーを検索するためです。

プロジェクトのソース フォルダー内からの相対パスではなく、インクルード パスのヘッダーの相対パスを使用します。

#include <header.h>

ちなみに、ヘッダーをプロジェクトに追加する必要があるのは、ヘッダーが Qt メタ オブジェクト システムを使用する Qt ヘッダーである場合のみです。QObject 派生クラスを定義するものは に渡されますmoc。これが、Qt プロジェクトがヘッダーを指定する必要がある理由です。#include実際のコンパイル プロセスでは、プロジェクト内にどのヘッダーがあるかを知る必要はありません (ディレクティブを検出したときにそれらを含めるだけです)。

于 2012-10-12T14:34:43.833 に答える