了解 CMake 中的包含目錄
在 CMake 中使用頭檔時,確保正確的包含和相依性追蹤至關重要。 CMake 區分專案內部和外部的頭檔。若要正確包含頭文件,請依照下列步驟操作:
新增包含目錄:
要指定包含要包含的頭檔的目錄,使用target_include_directories 函數:
target_include_directories(test PRIVATE ${YOUR_DIRECTORY})
對於沒有target_include_directories 的舊CMake 版本,請使用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中文網其他相關文章!