[解決済み】CMakeのinclude_directoriesとtarget_include_directoriesの違いは何ですか?
2022-04-17 14:41:09
質問
私は、C++のコードのために、次のようなディレクトリ構造を持っています。
|
|->include
|->src
私は自分のコードのためにCMakeLists.txtファイルを書いています。私は、以下の違いを理解したいと思います。
include_directories
と
target_include_directories
で
CMake
.
また、インクルードファイルのパスを追加する場合、どちらを使用すればよいのでしょうか?
どのように解決するのですか?
include_directories(x/y)
はディレクトリスコープに影響します。この CMakeList 内のすべてのターゲット、およびその呼び出しの時点以降に追加されたすべてのサブディレクトリ内のターゲットは、パスが
x/y
がインクルードパスに追加されます。
target_include_directories(t x/y)
にはターゲットスコープがあり
x/y
をターゲットとするインクルードパスに追加します。
t
.
すべてのターゲットが問題のインクルードディレクトリを使用する場合、前者が必要です。後者は、パスがターゲットに固有のものである場合、あるいはパスの可視性をより細かく制御したい場合に必要です。後者は
target_include_directories()
がサポートしているのは
PRIVATE
,
PUBLIC
および
INTERFACE
の修飾子があります。
関連
-
[解決済み】C++エラーです。"配列は中括弧で囲まれたイニシャライザーで初期化する必要がある"
-
[解決済み] 数値定数の前にunqualified-idを付けて、数値を定義することを期待する。
-
[解決済み】なぜ、サイズ8の初期化されていない値を使用するのでしょうか?
-
[解決済み】演算子のオーバーロード C++; <<操作のパラメータが多すぎる
-
[解決済み] explicit キーワードの意味は?
-
[解決済み] コピーアンドスワップ慣用句とは?
-
[解決済み] なぜC++はPythonよりもstdinからの行の読み込みが遅いのですか?
-
[解決済み] const int*、const int * const、int const *の違いは何ですか?
-
[解決済み] g++とgccの違いは何ですか?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】 unsigned int vs. size_t
-
[解決済み】C++ 非推奨の文字列定数から「char*」への変換について
-
[解決済み】致命的なエラー LNK1169: ゲームプログラミングで1つ以上の多重定義されたシンボルが発見された
-
[解決済み】 != と =! の違いと例(C++の場合)
-
[解決済み】抽象クラス型の無効なnew-expression
-
[解決済み】#include<iostream>は存在するのですが、「識別子 "cout "は未定義です」というエラーが出ます。なぜですか?
-
[解決済み】指定範囲内の乱数で配列を埋める(C++)
-
[解決済み】C++ - 適切なデフォルトコンストラクタがない [重複]。
-
[解決済み】なぜ、サイズ8の初期化されていない値を使用するのでしょうか?
-
[解決済み】'std::cout'への未定義の参照