gpt4 book ai didi

c++ - 为什么要在 CMake 中使用包管理器?

转载 作者:太空狗 更新时间:2023-10-29 21:10:12 24 4
gpt4 key购买 nike

我目前正在为一个工作项目评估 C++ 包管理器,我开始想知道为什么当 CMake 和远程 DVCS 服务器似乎可以很好地完成任务时我需要它们。

在我的个人项目中,我使用 ExternalProject拉动并构建我拥有的任何依赖项。与此同时,Conan、vcpkg、hunter 和可能其他人声称在做同样的事情。

例如,vcpkg 似乎要求每个项目都有一个 .cmake 文件,以便它可以与 CMake find_package 一起使用。

那么,为什么要使用包管理器呢?

最佳答案

虽然直接使用 CMake 的 ExternalProject_Add 具有编译标志完全匹配等优势,但正确配置包并不总是那么简单。此外,包管理器允许您在项目之间重用依赖源和二进制文件,从而大大减少存储需求。即使在像 vcpkg 这样从源代码构建的包管理器中也是如此,因为它们只下载一次源代码(并且每个配置构建一次以生成二进制文件)而不是每个构建文件夹(以及二进制文件的每个配置) .这些节省可能非常可观,尤其是对于像 Qt 这样大小为几千兆字节的依赖项。同样,您也节省了大量时间。

长话短说:

  • 易于使用
  • 减少存储需求(如果您多次使用图书馆)
  • 减少构建时间(如果包管理器有二进制包或者您多次使用一个库)

关于c++ - 为什么要在 CMake 中使用包管理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55589827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com