LINK_LIBRARIES¶
直接連結相依性的列表。
此屬性指定將用於連結的函式庫或目標的列表。除了接受來自 target_link_libraries()
命令的值之外,也可以使用 set_property()
命令直接在任何目標上設定值。
此屬性的值由產生器用於建構目標的連結規則。直接連結相依性會先被連結,然後是來自直接相依性的 INTERFACE_LINK_LIBRARIES
屬性的傳遞閉包中的間接相依性。請參閱政策 CMP0022
。
LINK_LIBRARIES
的內容可以使用具有 $<...>
語法的 產生器 表達式
。政策 CMP0131
會影響此屬性的 LINK_ONLY
產生器表達式的行為。
請參閱 cmake-buildsystem(7)
手冊,以了解有關定義建構系統屬性的更多資訊。
注意
呼叫 target_link_libraries(<target> ...)
可以更新 <target>
上的此屬性。如果 <target>
不是在與呼叫相同的目錄中建立的,則 target_link_libraries()
會使用 ::@(directory-id);...;::@
的形式包裝每個條目,其中 ::@
是字面的,而 (directory-id)
是未指定的。這告訴產生器,必須在呼叫者的範圍內而不是在建立 <target>
的範圍內查找指定的函式庫。有效的目錄 ID 會在 install(EXPORT)
和 export()
命令匯出時移除。
在進階的使用案例中,此屬性指定的直接連結相依性列表可能會被來自相依性的使用需求更新。請參閱 INTERFACE_LINK_LIBRARIES_DIRECT
和 INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE
目標屬性。
有關 CMake 如何在連結器命令列上排序直接連結相依性的詳細資訊,請參閱 CMAKE_LINK_LIBRARIES_STRATEGY
變數和相應的 LINK_LIBRARIES_STRATEGY
目標屬性。