CMake のインクルード ディレクトリについて
CMake でヘッダー ファイルを操作する場合、インクルードと依存関係の追跡を適切に行うことが重要です。 CMake は、プロジェクト内とプロジェクト外部のヘッダー ファイルを区別します。ヘッダー ファイルを正しくインクルードするには、次の手順に従います。
インクルード ディレクトリを追加します。
インクルードするヘッダー ファイルを含むディレクトリを指定するには、 target_include_directories 関数を使用します:
target_include_directories(test PRIVATE ${YOUR_DIRECTORY})
古い CMake バージョンの場合、 target_include_directories の場合は、代わりに include_directories を使用してください:
include_directories(${YOUR_DIRECTORY})
ソース ファイルにヘッダーを追加します:
依存関係を追跡し、正確な 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 サイトの他の関連記事を参照してください。