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);...;::@
形式包装每个条目,其中 ::@
为 literal,而 (directory-id)
未指定。这会告诉生成器,已命名的库必须在调用者的作用域中查找,而不能在 <target>
创建的作用域中查找。有效的目录 ID 会由 install(EXPORT)
和 export()
命令进行剥离导出。
在高级使用案例中,此属性指定的直接链接依赖项列表可能会更新为依赖项的使用要求。请参阅 INTERFACE_LINK_LIBRARIES_DIRECT
和 INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE
目标属性。
请参阅 CMAKE_LINK_LIBRARIES_STRATEGY
变量和相应的 LINK_LIBRARIES_STRATEGY
目标属性了解详细信息,了解 CMake 如何在链接器命令行中对直接链接依赖项进行排序。