ホームページ > バックエンド開発 > C++ > CMake でインクルード ディレクトリとヘッダー ファイルを適切に管理するにはどうすればよいですか?

CMake でインクルード ディレクトリとヘッダー ファイルを適切に管理するにはどうすればよいですか?

DDD
リリース: 2024-12-27 19:49:14
オリジナル
946 人が閲覧しました

How Do I Properly Manage Include Directories and Header Files in CMake?

CMake のインクルード ディレクトリについて

CMake でヘッダー ファイルを操作する場合、インクルードと依存関係の追跡を適切に行うことが重要です。 CMake は、プロジェクト内とプロジェクト外部のヘッダー ファイルを区別します。ヘッダー ファイルを正しくインクルードするには、次の手順に従います。

  1. インクルード ディレクトリを追加します。

    インクルードするヘッダー ファイルを含むディレクトリを指定するには、 target_include_directories 関数を使用します:

    target_include_directories(test PRIVATE ${YOUR_DIRECTORY})
    ログイン後にコピー

    古い CMake バージョンの場合、 target_include_directories の場合は、代わりに include_directories を使用してください:

    include_directories(${YOUR_DIRECTORY})
    ログイン後にコピー
  2. ソース ファイルにヘッダーを追加します:

    依存関係を追跡し、正確な Makefile を生成するには、ヘッダーを追加しますファイルを現在のソース ファイルのリストに追加します。 target:

    set(SOURCES file.cpp file2.cpp ${YOUR_DIRECTORY}/file1.h ${YOUR_DIRECTORY}/file2.h)
    add_executable(test ${SOURCES})
    ログイン後にコピー

これらの手順に従うと、CMake は指定されたヘッダーをプロジェクトの一部として認識し、依存関係の追跡に含めて、Makefile などの生成された出力ファイルで適切に処理できるようにします。 IDE 用のプロジェクト ファイル。

複数にわたるヘッダーの使用ターゲット:

複数のターゲット間でヘッダーを再利用するには、次のアプローチを検討してください:

set(HEADER_FILES ${YOUR_DIRECTORY}/file1.h ${YOUR_DIRECTORY}/file2.h)

add_library(mylib libsrc.cpp ${HEADER_FILES})
target_include_directories(mylib PRIVATE ${YOUR_DIRECTORY})
add_executable(myexec execfile.cpp ${HEADER_FILES})
target_include_directories(myexec PRIVATE ${YOUR_DIRECTORY})
ログイン後にコピー

この方法により、ライブラリと実行可能ターゲットの両方に指定されたヘッダーが含まれ、それらの依存関係が正しく追跡されます。 .

以上がCMake でインクルード ディレクトリとヘッダー ファイルを適切に管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート