LINK_INTERFACE_LIBRARIES¶
為共享函式庫或可執行檔列出公共介面函式庫。
預設情況下,連結到共享函式庫目標會遞迴連結到該函式庫本身所連結的目標。對於具有匯出功能的可執行檔(請參閱 ENABLE_EXPORTS
目標屬性),不會使用預設的遞迴連結相依性。此屬性會以明確的清單取代預設的遞迴連結相依性。當使用 target_link_libraries()
命令將目標連結到另一個目標時,所列出的函式庫(以及遞迴的連結介面函式庫)也將提供給另一個目標。如果清單為空,則當此目標連結到另一個目標時,即使預設集合為非空,也不會加入遞迴連結相依性。如果目標建立時設定了 CMAKE_LINK_INTERFACE_LIBRARIES
變數,則此屬性會由其值初始化。對於 STATIC
函式庫,會忽略此屬性。
如果政策 CMP0022
為 NEW
,則此屬性會被 INTERFACE_LINK_LIBRARIES
屬性覆寫。
此屬性已棄用。請改用 INTERFACE_LINK_LIBRARIES
。
建立可重新定位的套件¶
請注意,不建議使用相依性的絕對路徑來填入目標的 LINK_INTERFACE_LIBRARIES
。這樣會將相依性的函式庫檔案路徑硬式編碼到已安裝的套件中,如同在建立套件的機器上找到的路徑一樣。
請參閱 cmake-packages(7)
手冊的 建立可重新定位的套件 章節,以討論在建立用於重新發行的套件時,指定使用需求時必須採取的其他注意事項。