如何提供支持静态链接的 cmake 包(又名 Config.cmake)
Posted
技术标签:
【中文标题】如何提供支持静态链接的 cmake 包(又名 Config.cmake)【英文标题】:How to provide a cmake package (aka Config.cmake) that supports static linking 【发布时间】:2019-06-12 20:06:50 【问题描述】:*** 上的大多数问题都是希望静态链接到某个库的用户。假设我是库作者,我正在尝试定义一个Config.cmake
,它允许我的用户在动态链接和静态链接与我的库之间进行选择。我应该如何构建它?
【问题讨论】:
【参考方案1】:我会使用像 MY_LIBRARY_LINK_STATIC
这样的变量,并根据值(true
用于静态链接,false
用于动态)决定使用什么类型。
【讨论】:
但事情没有这么简单吧?当我创建一个共享库时,我假设 foo.so 中的内置动态依赖项足以指定传递依赖项。使用静态链接,我必须发布传递依赖项,因为它们都需要包含在链接器行中。以上是关于如何提供支持静态链接的 cmake 包(又名 Config.cmake)的主要内容,如果未能解决你的问题,请参考以下文章
如何将 TensorFlow Lite 构建为静态库并从单独的(CMake)项目链接到它?
你如何告诉 CMake 静态链接到使用 find_package 找到的包中的库?