捆绑并构建库库以及自定义库



>问题

如何将 c++ 库作为源代码与 libcurl 的源代码一起分发,并让库的使用者根据需要处理构建它?我正在使用FastBuild作为构建系统。

上下文

我有一个C++库,我将其作为源代码分发,并让客户端处理构建它以及他们的代码。

存储库还包括依赖项的源代码 tinyxml,它与库本身一起构建,因此对客户端完全透明。

到目前为止,它运行良好,但显然不能很好地扩展更复杂的依赖项,例如 libcurl。

我考虑过捆绑libcurl源代码的替代方案

  • 有预编译的 libcurl 库。但我不知道消费者将使用哪些平台/标志
  • 在构建计算机上安装 libcurl。它需要为消费者提供额外的设置步骤,而不仅仅是提取代码并使用

编辑 1:使用构建系统进行更新

你没有提到你使用的是哪个构建系统.
如果你使用的是cmake,你可以利用ExternalProject_Add来下载/构建/安装依赖库。

请参阅示例: https://cmake.org/cmake/help/git-stage/module/ExternalProject.html#examples

如果我理解正确,您需要任何获取库源代码的客户也能够获得libcurltinyxml库的相应源代码。 就我个人而言,我会为此目的使用cmake,正如@brokenfoot已经建议的那样。但是,在您的情况下,似乎FetchContent就足够了,而且不那么复杂,而不是ExternalProject_Add:https://cmake.org/cmake/help/latest/module/FetchContent.html

相关内容

  • 没有找到相关文章

最新更新