SFUMECJF / cmake-examples-Chinese

快速入门CMake,通过例程学习语法。在线阅读地址:https://sfumecjf.github.io/cmake-examples-Chinese/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

关于private/public/interface关键字?

sunyd1006 opened this issue · comments

commented

关于这篇内容,确实是大家的痛点,很多人对这部分有疑问。会考虑重制一下这篇文章的。

commented
  • PRIVATE:当一个目标被定义为PRIVATE时,它表示这个目标只应用于该目标自身。也就是说,如果你有一个库A,而你把库B设置为库A的PRIVATE依赖,那么只有库A能使用库B,而不能链接库A的其他目标无法使用库B。
  • INTERFACE:表示只有当其他目标链接到该目标时,才会使用这个目标。用库A和库B的例子来说,如果你把库B设置为库A的INTERFACE依赖,那么只有当其他目标链接库A时,才会使用库B,而库A自身无法使用库B。
  • PUBLIC:表示该目标同时应用于自身和链接到它的其他目标。再用库A和库B的例子,如果你把库B设置为库A的PUBLIC依赖,那么库A和链接库A的其他目标都能使用库B。