CMake:如何将所有依赖项打包到静态库中?

问题描述 投票:0回答:0

相关:Combining several static libraries into one using CMake

当我们使用CMake构建库

add_library(example STATIC lib.c)
时,我们会得到一个
libexample.a
文件。如果我们有以下依赖:
target_link_libraries(example PUBLIC lib123)
其中
lib123
是另一个库,那么我们必须在计算机上安装
libx
才能使用
libexample.a
。否则,如果我们执行
gcc main.c libexample.a
编译器将无法在
lib123
中找到
libexample.a
中的函数所需的符号。

上面的链接提到了如何手动合并这些库。但是在合并

lib123
的时候,我们发现
lib123
有很多其他的依赖。

如何自动解析所有的依赖,并全部合并到

libexample.a

c cmake linker static-libraries
© www.soinside.com 2019 - 2024. All rights reserved.