从父 cmake 动态/静态库构建 cmake 静态库的最佳方法
Posted
技术标签:
【中文标题】从父 cmake 动态/静态库构建 cmake 静态库的最佳方法【英文标题】:Best way to build a cmake static library from a parent cmake dynamic/static library 【发布时间】:2021-03-01 20:37:31 【问题描述】:我想添加这个基于 cmake 的静态库
https://github.com/google/highway
到我的静态或动态库
https://github.com/GrokImageCompression/grok
所以,我想先建静态库,再建动态库 并链接到静态库。
我已将静态库添加为子文件夹,并且正在生成 .a 文件 cmake 二进制文件夹。但是,我不确定如何链接到这个库
target_link_libraries($PARENT_LIBRARY_NAME $PARENT_BIN_DIR/hwy)
没用。
【问题讨论】:
【参考方案1】:您需要在调用target_link_libraries
时使用目标的名称,即target_link_libraries($PARENT_LIBRARY_NAME PUBLIC hwy)
或target_link_libraries($PARENT_LIBRARY_NAME PRIVATE hwy)
,这取决于您是否在父库的公共标头中使用hwy
s标头(选择PUBLIC ) 或仅在父库的实现中(选择 PRIVATE)。
【讨论】:
非常感谢!!以上是关于从父 cmake 动态/静态库构建 cmake 静态库的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章
(转)HelloWorld CMake CMake中构建静态库与动态库及其使用
Android Studio手动配置Makefile、CMake