参考:
csdn
P4 demo3 讲解(多目录多文件)
引用blili
提到了静态库static与动态库shared的cmake写法
shared就是共享的,就是别人在修改这个库的时候,你引用这个库也会实时更新
弹幕:静态库最终会编入到可执行文件中成为一体,动态库最终也是与可执行文件分离运行时加载(因为需要实时更新)
看图:add_library, 见csdn
那生成的库起什么作用呢,就是给顶层的/其他目录来使用
顶层目录使用静态库,cmake的写法:
顶层目录添加子目录:
add_subdirectory(./mylib)
# 产生可执行文件需要连接静态库
target_link_library(demo3 Mylib)
p5 demo4讲解(多目录多文件)
src, mylib,分别用一个文件夹,编译都在build,如何写三个cmakelist(分别总cmake, src/cmake, mylib/cmake)
以及src生成的可执行文件确定放置的路径,和lib生成静态库.a文件的确定路径
mylib:
src:
mylib:
最终结果: