首頁 > 後端開發 > C++ > 如何正確管理CMake中的包含目錄和頭檔?

如何正確管理CMake中的包含目錄和頭檔?

DDD
發布: 2024-12-27 19:49:14
原創
898 人瀏覽過

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})
    登入後複製

    對於沒有target_include_directories 的舊CMake 版本,請使用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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板