作者:HelloGitHub-ChungZH 

博客:https://chungzh.cn/

包管理器可以帮助你更方便地安装依赖关系,并决定所安装的版本,提高你的开发幸福感。许多语言都有自己的包管理器,像 Node.js 的 npm/yarn、Rust 的 Cargo、Python 的 pip 等等。当然,C/C++ 也有它自己的包管理器!下面我们就来感受下这些库的魅力和特点吧~

1.Conan

  • GitHub 项目地址:https://github.com/conan-io/conan

  • Star 数:3k

  • 文档:https://docs.conan.io/en/latest/

首先出场的是 Conan(注意,不是柯南!),一个用 Python 编写的 C/C++ 包管理器。它是完全分散的,你可以自己托管服务器中的包。它适用于所有平台,包括 Linux、OS X、Windows、Solaris、FreeBSD、嵌入式和交叉编译、docker、WSL。它可以与任何构建系统集成,为 CMake、MSBuild、Makefiles 等工具提供了经过测试的支持。除此之外,它还获得了奔驰、华为等大公司用户。你还可以在 Conan-Center[1] 寻找或分享你的 C/C++ 包。

想要安装 Conan 也很简单:

$ pip install conan

2.Buckaroo

  • GitHub 项目地址:https://github.com/LoopPerfect/buckaroo

  • Star 数:600

  • 文档:https://github.com/LoopPerfect/buckaroo/wiki

这个 C++ 包管理器是使用 F# 语言开发的。它的独特之处就是直接从 GitHub、BitBucket、GitLab、托管的 Git 和 HTTP 中提取依赖项。同样的,它也是完全分散的,没有中央服务器。Buckaroo 使用 TOML 配置文件。

安装方法详见 Quick Install[2]。

它的工作流大概是这样的:

# 初始化项目文件
$ buckaroo init
# 安装依赖
$ buckaroo add github.com/buckaroo-pm/boost-thread@branch=master
# 运行你的代码
$ buck run :my-app

3.vcpkg

  • GitHub 项目地址:https://github.com/microsoft/vcpkg

  • Star 数:6k

  • 文档:https://vcpkg.readthedocs.io/

vcpkg 是由微软爸爸开发的支持 Windows、Linux、Mac OS 的 C++ 库管理器,解决了 Windows 下常用依赖包的管理问题!它方便与 Visual Studio 集成,你可以使用 vcpkg search 搜索可用的包。它也可以从 Bitbucket、GitHub、GitLab 等获取包。

安装方法详见 Quick Start[3]。

4.clib

  • GitHub 项目地址:https://github.com/clibs/clib

  • Star 数:3k

  • 文档:https://github.com/clibs/clib/wiki

clib 是一个 C 包管理器(非 C++),使用起来较简单。同样的,它也可以直接从 GitHub 上安装库。类似于 Node.js,它也是用 package.json 管理的。下面是一个例子:

{    "name": "term", "version": "0.0.1", "repo": "clibs/term",   "description": "Terminal ansi escape goodies",  "keywords": ["terminal", "term", "tty", "ansi", "escape", "colors", "console"], "license": "MIT",   "src": ["src/term.c", "src/term.h"]
}

5.poac

  • GitHub 项目地址:https://github.com/poacpm/poac

  • Star 数:341

  • 文档:https://doc.poac.pm/en/

别看 poac 现在 stars 数量少,它其实很适合新手使用。它具有直观且易于使用的界面(像 npm 和 Cargo 一样)。独特的是,你可以在不了解 CMake 的情况下使用 poac 开发应用程序和库,专注于学习 C++ 而不会绊倒。作者还计划实现与其他构建系统和包管理器的集成,让你能够无缝切换。

安装也是一行命令搞定:

curl -fsSL https://sh.poac.pm | bash


 
以上就是本期全部内容,有了这些库是不是让安装 C/C++ 库变得易如反掌了呢?看完还不过瘾那就关注我们的公众号看看往期的内容吧~

参考资料

[1]Conan-Center: https://bintray.com/conan/conan-center

[2]Quick Install: https://github.com/LoopPerfect/buckaroo#quick-install

[3]Quick Start: https://github.com/microsoft/vcpkg#quick-start

关注公众号加入交流群,一起讨论有趣的技术话题

『精选开源项目系列』——跟着我们的文章,你会发现有趣的开源项目,从而爱上开源、爱上编程。加入我们、联系我们。让我们一起让更多人爱上开源、贡献开源~

打包一沓开源的 C/C++ 包管理工具送给你!相关推荐

  1. Day04-NPM包管理工具

    NPM包管理工具 一.简介 1.什么是NPM 2.NPM工具的安装位置 二.使用npm管理项目 1.创建文件夹npmdemo 2.项目初始化 3.修改npm镜像 4.npm install命令的使用, ...

  2. 包管理工具,npm、yarn、pnpm

    1.包管理工具概述 本门课程的前置知识:JavaScript.ES6.模块化.git 本门课程的所有代码均书写在 nodejs 环境中,不涉及浏览器环境 概念 模块(module) 通常以单个文件形式 ...

  3. 【包管理工具】Windows下的软件包管理工具Chocolatey介绍、安装软件出现错误的解决方法

    文章目录 1. Chocolatey是什么? 2. 为什么要使用Chocolatey? 3. 如何下载Chocolatey? 4. 如何使用Chocolatey? 5. 示例一:使用Chocolate ...

  4. 前端工程化-包管理工具npm-yarn-cnpm-pnpm详细介绍以及如何选择

    文章目录 包管理工具详解 npm包管理工具 1.代码共享的方案 2.npm包管理工具介绍 3.npm的配置文件 常见配置文件 常见配置文件属性 版本号的说明 4.npm install npm ins ...

  5. linux高级包管理工具,5 个给 Linux 新手的最佳包管理器

    原标题:5 个给 Linux 新手的最佳包管理器 一个 Linux 新用户应该知道他或她的进步源自于对 Linux 发行版的使用,而 Linux 发行版有好几种,并以不同的方式管理软件包. 在 Lin ...

  6. linux更换包管理工具,技术|5 个给 Linux 新手的最佳包管理器

    一个 Linux 新用户应该知道他或她的进步源自于对 Linux 发行版的使用,而 Linux 发行版有好几种,并以不同的方式管理软件包. 在 Linux 中,包管理器非常重要,知道如何使用多种包管理 ...

  7. Python包管理工具Distribute的安装

    Python包管理工具Distribute的安装 Python的包管理工具常见的有easy_install, setuptools, 还有pip, distribute,那麽这几个工具有什么关系呢,看 ...

  8. Java基础-Eclipse第三方安装包管理工具之Maven

    Java基础-Eclipse第三方安装包管理工具之Maven 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 玩过Linux的小伙伴应该都知道yum吧,我们只要把搭建好的yum仓库配 ...

  9. Python 包管理工具解惑

    本文转载自http://zengrong.net/post/2169.htm,感谢原作者. 一.困惑 作为一个 Python 初学者,我在包管理上感到相当疑惑(嗯,是困惑).主要表现在下面几个方面: ...

最新文章

  1. ArchiCAD 23中文版
  2. Scrum联盟发布《2016年度Scrum状态调查报告》
  3. 双向TVS二极管 8KP33CA参数详解
  4. mysql分组后去重复数据_mysql去掉重复数据只保留一条,以及取分组后的一条数据...
  5. Exchange EMC打开出错 解决
  6. 超级电容怎么才能把内阻做小_骆驼电瓶怎么样?
  7. 七阶拉丁方阵_【C语言】输出N阶拉丁方阵并统计个数
  8. 今日恐慌与贪婪指数为73 贪婪程度有所上升
  9. pd虚拟机 17+win10、11懒人镜像 Mac
  10. 华硕电脑重装系统后电池管理软件ASUS Battery Health Charging不见了
  11. Booth算法笔算快捷方式
  12. 2020徐涛背诵笔记电子版pdf_2021徐涛冲刺背诵笔记电子版-2021徐涛冲刺背诵笔记pdf免费版下载_东坡手机下载...
  13. 【转】征集华人操作系统项目列表
  14. 量化交易1-backtrader介绍
  15. BigDecimal四舍五入保留两位小数
  16. exchange 2010 脱机地址簿操作
  17. 粘贴应变片步骤及注意事项
  18. 中国 GitHub 霸榜乱象! 国内程序员的脸都被丢尽了!
  19. 一个向上帝买了挂的男人!
  20. 如何设计一个开放平台openapi?

热门文章

  1. 产品经理不能做错的5件事
  2. java conversion_java 基本数据类型之间的转换(Conversion between Java basic data types).doc...
  3. Linux实战教学笔记35:企业级监控Nagios实践(下)
  4. AE模板-LOGO文字动态效果展示
  5. 【无标题】6. 青蛙与蚊子
  6. 【Orangepi Zero2 全志H616】语音刷抖音 / 手机连接Linux热拔插相关
  7. vue cli 接入 mock
  8. 发现一个学习Android的好博客
  9. LeetCode 三维形体的表面积
  10. 淘宝美食数据分析实战,三只松鼠居然这么强?