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)
手冊中,以了解在為重新發布建立套件時,指定使用需求時必須額外注意的事項。