gpt4 book ai didi

CMake target_link_libraries 接口(interface)依赖项

转载 作者:行者123 更新时间:2023-12-03 01:17:20 24 4
gpt4 key购买 nike

我是 CMake 新手,对与 target_link_libraries() 相关的 PUBLIC、PRIVATE 和 INTERFACE 关键字有点困惑。文档提到它们可用于在一个命令中指定链接依赖项和链接接口(interface)。

链接依赖项和链接接口(interface)的实际含义是什么?

最佳答案

如果您正在创建共享库,并且源 cpp 文件 #include 另一个库的 header (例如,QtNetwork) ,但您的头文件不包含 QtNetwork header ,则 QtNetworkPRIVATE 依赖项。

如果您的源文件和 header 包含另一个库的 header ,那么它是一个 PUBLIC 依赖项。

如果您的头文件(而不是源文件)包含另一个库的头文件,那么它就是一个INTERFACE依赖项。

PUBLICINTERFACE 依赖项的其他构建属性将传播到使用库。 http://www.cmake.org/cmake/help/latest/manual/cmake-buildsystem.7.html#transitive-usage-requirements

关于CMake target_link_libraries 接口(interface)依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26037954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com