这篇文章上次修改于 711 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
CMake中的语句:
target_link_libraries(A <SCOPE> B)
target_link_libraries(C A)
表示A依赖于B,即B时A的依赖项;C依赖于A。
PRIVATE
:B仅链接到A,C不会链接BINTERFACE
:B不链接到A,C会链接BPUBLIC
:B链接到目标A,C也会链接B
从使用的角度解释,若有C链接了目标A:
如果依赖项B仅用于目标A的实现,且不在头文件中提供给C使用,使用PRIVATE
如果依赖项B不用于目标A的实现,仅在头文件中作为接口提供给C使用,使用INTERFACE
如果依赖项B不仅用于目标A的实现,而且在头文件提供给C使用,使用PUBLIC
没有评论
博主关闭了评论...