CMake のヘッダー依存関係管理を理解する
CMake は最初にプロジェクト外のヘッダー ファイルを扱いますディレクトリを外部リソースとして使用します。この動作により、生成されたプロジェクトで依存関係追跡の問題が発生する可能性があります。
解決策: インクルード ディレクトリの指定
ヘッダーを適切にインクルードするには、次の 2 つの手順が必要です。
インクルードの追加ディレクトリ:
最近の CMake バージョン (例: 3.0 ) の場合は target_include_directories を使用します:
target_include_directories(test PRIVATE ${YOUR_DIRECTORY})
古い CMake バージョンの場合 (例: 、2.8.10 以前、なしtarget_include_directories サポート):
include_directories(${YOUR_DIRECTORY})
ターゲット ソース リストにヘッダー ファイルを含める:
依存関係を追跡するには、以下を追加しますヘッダー ファイルをソース リストに追加します。ターゲット:
set(SOURCES file.cpp file2.cpp ${YOUR_DIRECTORY}/file1.h ${YOUR_DIRECTORY}/file2.h) add_executable(test ${SOURCES})
例: ヘッダーを複数のターゲットにリンクする
複数のターゲット間でヘッダー ファイルを共有するには:
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 サイトの他の関連記事を参照してください。