【发布时间】:2018-12-26 01:18:29
【问题描述】:
我想知道默认的target_link_libraries 隐私是什么。
我在 CMake 中添加了一行:
target_link_libraries(myTarget
libraryA
libraryB
)
但我不知道是PRIVATE 还是PUBLIC 或者INTERFACE。
我检查了documentation,但我没有看到我的问题的答案:(
编辑:
我找到sth:
最后一点,如果您调用 target_link_libraries() 并且不 指定 PRIVATE、PUBLIC 或 INTERFACE 中的任何一个,您可能会想 相信它将被视为 PUBLIC。情况其实是 比这更复杂。它可能被视为 PUBLIC 或 PRIVATE,取决于其他 target_link_library() 调用和/或 已执行目标属性操作。文档 for target_link_libraries() 对此进行了一些讨论,但你必须去 深入研究它提到的目标属性的文档 了解哪些情况会导致 PRIVATE 或 公共行为。
什么情况? (顺便说一句。这句话的作者是 Craig Scott,他似乎是 SO 的活跃用户,我相信他可以回答我......)
【问题讨论】: