CMake でインクルード ディレクトリを適切に追加する
CMake では、プロジェクトを効果的にコンパイルするために、インクルード ディレクトリとヘッダーの依存関係を管理することが重要です。この記事では、生成された Makefile によってインクルードおよび追跡されるヘッダーが特定のディレクトリに含まれていることを CMake に正しく通知する方法について説明します。
インクルード ディレクトリの追加
ヘッダーを含むディレクトリをインクルードするには、次のコマンドを使用します。
target_include_directories(test PRIVATE ${YOUR_DIRECTORY})
古い CMake バージョンを使用している場合は、 target_include_directories はサポートされていません。代わりに従来の include_directories を使用してください。
include_directories(${YOUR_DIRECTORY})
ヘッダーの依存関係の追跡
ヘッダーの依存関係を追跡するには、ヘッダー ファイルを現在のターゲットのソース ファイルのリスト:
set(SOURCES file.cpp file2.cpp ${YOUR_DIRECTORY}/file1.h ${YOUR_DIRECTORY}/file2.h) add_executable(test ${SOURCES})
これにより、ヘッダー ファイルは Makefile およびその他の生成されたプロジェクト ファイルに依存関係として表示され、コンパイル中に確実に含まれるようになります。
複数のターゲットにヘッダーを使用する
同じヘッダーを使用するには複数のターゲットにまたがるファイルを使用するには、次の手順に従います。
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 プロジェクトのインクルード ディレクトリとヘッダーの依存関係を効果的に管理できます。
以上がCMake でインクルード ディレクトリとヘッダーの依存関係を適切に管理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。