gpt4 book ai didi

c++ - CMake LINK_PRIVATE 及其 "inheritance"

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:46:43 25 4
gpt4 key购买 nike

如果我有一个链接到其他几个 .lib 文件的 my_library.lib 文件,例如:

add_library( my_library ...)
target_link_libraries( my_library LINK_PUBLIC lib1 lib2 ...)

如果我现在使用 LINK_PRIVATE

将此 my_library.lib 文件链接到另一个库(它还需要 lib1、lib2 等。这就是上面代码中 LINK_PUBLIC 的原因)
target_link_libraries( some_other_library LINK_PRIVATE my_library )

我会“保护”我仅用于编译 my_library 的 lib1、lib2 和其他库吗?

最佳答案

LINK_PUBLIC : 使当前链接目标的传递依赖对将要链接到当前目标的其他目标可见。所以lib1lib2将与 my_library 一起链接什么时候my_library与其他事物相关联。

LINK_PRIVATE : 使当前链接目标的传递依赖对将要链接到当前目标的其他目标不可见。所以lib1lib2不会与 my_library 一起链接什么时候my_library与其他事物相关联。

总而言之,当some_other_library将链接到其他东西,由于最终的 LINK_PRIVATE,它的依赖项将不会被链接到那些它所链接的目标。 .

关于c++ - CMake LINK_PRIVATE 及其 "inheritance",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21125362/

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