[解決済み】CLionで、ヘッダのみのライブラリ:ファイル "どのプロジェクトターゲットにも属していない、コードインサイト機能が正しく動作しない可能性がある" の件
質問
cmakeコマンドでヘッダのみのライブラリプロジェクトをセットアップしています。
add_library(my_library INTERFACE)
を追加し、さらに
target_sources(my_library INTERFACE ${MY_LIRBARY_HEADER_FILES})
が、ソースファイルを開くと警告が出ます。
このファイルは、どのプロジェクトターゲットにも属していないため、コードインサイト機能が正しく動作しない可能性があります。
と、コード補完などの機能の多くを失ってしまいます。
CLionがヘッダのみのライブラリで通常の機能を提供できるようにするには、どのような設定が必要でしょうか。
どのように解決するのですか?
小さな背景
私は同じ問題を抱えていました。プロジェクトはヘッダのみではありませんでしたが、それでも
inc
フォルダは、CMake ファイルでは明らかに
include_directory
.
*.hpp ファイルは ${SOURCE} に属していません。
include_directories("${PROJECT_SOURCE_DIR}/inc/")
add_subdirectory(src)
add_executable(${EXECUTABLE_NAME} main.cpp ${SOURCE})
これは完全に有効なCMakeファイルであり、ソースファイルにincludeファイルを追加することはイディオムではないので、CMakeファイルを修正することは避けました。
解決方法
公式サイトでも紹介されているように
JetBrainsフォーラム
この警告は、CLion がヘッダーファイルのインデックスを適切に作成できないために表示されるもので、CMake ファイルは確かに有効です。リンク先から抽出した回避策としては
フォルダを右クリックし
Mark directory as
|
Library Files
/
Project Sources and Headers
.
そのため、このヘッダが実行ファイルに含まれないと、CLion は一部のコードインサイト機能が正しく動作しない可能性があることを通知します。回避策として、Library Files/Project Source and Headers フォルダに "Mark directory as" を使用することができます。
関連
-
[解決済み] テスト
-
[解決済み] error: 'ostream' does not name a type.
-
[解決済み】テンプレートの引数1が無効です(Code::Blocks Win Vista) - テンプレートは使いません。
-
[解決済み】C++エラー:の初期化に一致するコンストラクタがありません。
-
[解決済み】エラー:strcpyがこのスコープで宣言されていない
-
[解決済み】C++プログラムでのコンソールの一時停止
-
[解決済み] 式はクラス型を持つ必要があります。
-
[解決済み] 数値定数の前にunqualified-idを付けて、数値を定義することを期待する。
-
[解決済み】Visual Studioのデバッガーエラー。プログラムを開始できません 指定されたファイルが見つかりません
-
[解決済み】デバッグアサーションに失敗しました
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++でint型に無限大を設定する
-
[解決済み】C++ 非推奨の文字列定数から「char*」への変換について
-
[解決済み】Visual Studio 2015で「非標準の構文; '&'を使用してメンバーへのポインターを作成します」エラー
-
[解決済み】Cygwin Make bash コマンドが見つかりません。
-
[解決済み】「std::operator」で「operator<<」にマッチするものがない。
-
[解決済み】オブジェクト引数のない非静的メンバ関数の呼び出し コンパイラーエラー
-
[解決済み】リンカーエラーです。"リンカ入力ファイルはリンクが行われていないため未使用"、そのファイル内の関数への未定義参照
-
[解決済み] 数値定数の前にunqualified-idを付けて、数値を定義することを期待する。
-
[解決済み】演算子のオーバーロード C++; <<操作のパラメータが多すぎる
-
[解決済み】変数やフィールドがvoid宣言されている