【问题标题】:Does C++ have a community for libs? [duplicate]C++ 是否有库社区? [复制]
【发布时间】:2021-05-16 05:11:08
【问题描述】:

我正在尝试比以前更多地提高我的知识并在 C++ 上工作,但我找不到 C++ 的社区或包管理系统,有没有类似用于 C++ 项目的 Python 的 pip 的东西?或者我必须始终从 github 和其他网站搜索和测试不同的库?

【问题讨论】:

  • 不是标准的,但有几个(柯南,vcpkg,...)
  • 没有社区或正常工作的包管理。每次您需要潜伏在互联网上寻找库时,您都需要找出一些独特的方法来利用它,因为也没有通用的构建系统。
  • boost 与标准 c++ 有着密切的关系,并且由社区驱动。虽然它在任何意义上都不像“点子”
  • vcpkg 在 Windows 上运行良好。其他地方没试过。与 C++ 中的许多其他东西一样,问题不在于我们没有包管理器,问题在于我们有 50 个。

标签: c++ pip package package-management


【解决方案1】:

一个用于 C++ 的包管理系统,有没有类似 pip 的东西

有几个。

但由于碎片化,您不一定会从任何特定的包管理器中找到您要查找的所有库。

或者我必须始终从 github 和其他网站搜索和测试不同的库?

虽然这是一个选项,但它不是唯一的。除此之外,还有 C++ 包管理器,另一个选项是系统包管理器。

C++ 有库社区吗?

同样,有几个。也许没有其他社区像 Boost 一样突出。

图书馆集合往往不与包管理器相关联。

【讨论】:

  • 当您可以标准化每个可以想象的类时,谁还需要包管理器?
【解决方案2】:

这可能会有所帮助:Does C++ have a package manager like npm, pip, gem, etc?

ddshttps://github.com/vector-of-bool/dds

cpm http://www.cpm.rocks/

柯南https://conan.io/

pacmhttp://sourcey.com/pacm/

打包https://spack.io

巴卡鲁http://buckaroo.pm

猎人https://github.com/ruslo/hunter

vcpkghttps://github.com/Microsoft/vcpkg

如果你想进一步了解 C++ 的特殊背景,这里有一篇写得很好的论文。

http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1254r0.html

上面写着:

C++ 社区对包管理有着明确的需求。 当 C++ 开发人员使用 Rust、Python、Haskell 或 任意数量的其他语言。

...

但是,将包与 将超过标准库的依赖项放到一个项目中。一些 构建系统和元构建系统为 源代码集成到项目中,这有助于重用,但需要 建立系统标准化,这不会发生。为了 例如,对于 GTest,典型和推荐的做法是包括 gtest 的 cmake 构建到消费项目的构建中,而 将其排除在外。这有每个不幸的副作用 项目的 GTest 版本略有不同,每个项目 不得不重复构建。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-10
    • 2011-03-01
    • 1970-01-01
    • 2019-11-17
    • 2022-12-16
    • 1970-01-01
    • 1970-01-01
    • 2021-06-06
    相关资源
    最近更新 更多