从父 cmake dynamic/static 库构建 cmake 静态库的最佳方法

Best way to build a cmake static library from a parent cmake dynamic/static library

我想添加这个基于cmake的静态库

https://github.com/google/highway

到我的静态或动态库

https://github.com/GrokImageCompression/grok

所以,我想先建静态库,再建动态库 和 link 到静态库。

我已将静态库添加为子文件夹,并且正在生成 .a 文件 cmake 二进制文件夹。但是,我不确定如何 link 这个库

target_link_libraries(${PARENT_LIBRARY_NAME} ${PARENT_BIN_DIR}/hwy)

无效。

您需要在调用 target_link_libraries 时使用目标名称,即 target_link_libraries(${PARENT_LIBRARY_NAME} PUBLIC hwy)target_link_libraries(${PARENT_LIBRARY_NAME} PRIVATE hwy),具体取决于您是否使用 hwys headers 在 parent 库的 public headers 中(选择 PUBLIC)或仅在 parent 库的实现中(选择 PRIVATE)。