cmake 筆記 關於 private,interface,public


target_include_directories(hello_library
    PUBLIC
        ${PROJECT_SOURCE_DIR}/include
)

target_link_libraries( hello_binary
    PRIVATE
        hello_library
)

PRIVATE - 被添加到目標(庫)的包含路徑中。
INTERFACE - 沒有被添加到目標(庫)的包含路徑中,而是添加到了鏈接這個庫的其他目標(庫或者可執行程序)包含路徑中
PUBLIC - 既被添加到目標(庫)的包含路徑中,同時添加到了鏈接這個庫的其他目標(庫或者可執行程序)的包含路徑中

簡單來說,不考慮文件大小,重復引用,全部用PUBLIC就完事了。

add_library命令如果沒有可添加的執行文件,只能用INTERFACE來修飾

add_library(${PROJECT_NAME} INTERFACE)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM