INTERFACE_LINK_LIBRARIES财产中的合法项目是什么



我的期望是,目标属性中的项目INTERFACE_LINK_LIBRARIES是其他目标。但是,当我在Linux上使用官方线程包时。

find_package(Threads)
get_property(libs TARGET Threads::Threads PROPERTY INTERFACE_LINK_LIBRARIES)

libs ist 设置为 -lpthread ,这似乎是一个链接器标志,而不是目标。这是对的吗?

属性由命令填充 target_link_libraries() ,其文档列出了可以指定的内容:

  • 库目标名称
  • 库文件的完整路径
  • 普通库名称
  • 链接标志
  • 关键字debugoptimizedgeneral

因此,此处允许使用链接标志,即使 CMake 文档不鼓励这样做也是如此。

最新更新