本文作者:HelloGitHub-ChungZH

博客地址:https://chungzh.cn/

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

1. Conan

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

想要安装 Conan 也很简单:

$ pip install conan

2. Buckaroo

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

安装方法详见 Quick Install

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

# Create your project file
$ buckaroo init # Install dependencies
$ buckaroo add github.com/buckaroo-pm/boost-thread@branch=master # Run your code
$ buck run :my-app

3. vcpkg

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

安装方法详见 Quick Start

4. clib

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

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

安装也是一行命令搞定:

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


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

欢迎关注 HelloGitHub 公众号,获取更多开源项目的资料和内容

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

打包一沓开源的 C/C++ 包管理工具送给你!的更多相关文章

  1. Lua包管理工具Luarocks详解 - 15134559390的个人空间 - 开源中国社区

    Lua包管理工具Luarocks详解 - 15134559390的个人空间 - 开源中国社区 Lua包管理工具Luarocks详解

  2. 包管理工具Carthage使用

    iOS项目中第三方开源库的工具有Cocoapods和Carthage,swift官方出了一个包管理工具SPM(Swift Package Manager). 首先,大体讲一下Cocoapods和Car ...

  3. Python包管理工具和多版本环境管理

    1. Python包管理工具 在安装Python包的过程中,经常涉及到distutils.setuptools.distribute.setup.py.easy_install.easy_instal ...

  4. Node包管理工具

    Node包管理工具 只是简单的介绍一些工具的使用,有利于开发过程.除了介绍Node包管理工具,还介绍了前端打包工具,前端模块管理工具 Node包管理工具:    --npm    --cnpm    ...

  5. Python 包管理工具解惑

    Python 包管理工具解惑 本文链接:http://zengrong.net/post/2169.htm python packaging 一.困惑 作为一个 Python 初学者,我在包管理上感到 ...

  6. Python包管理工具介绍

    常见的包管理工具及关系 setuptools -->distribute easy_install-->pip 1.distribute distribute是对标准库disutils模块 ...

  7. Linux包管理工具分析

    转自:http://blog.csdn.net/carolzhang8406/article/details/14198219 在正式进入讨论之前,先贴几条非常有用的link: linux 发行版比较 ...

  8. linux--软件包管理工具

    linux平台软件包管理: RPM/DPKG 两大阵营简介 在 GNU/Linux( 以下简称 Linux) 操作系统中,RPM 和 DPKG 为最常见的两类软件包管理工具,他们分别应用于基于 RPM ...

  9. Helm包管理工具(简介、安装、方法)

    认识Helm 每次我们要部署一个应用都需要写一个配置清单(维护一套yaml文件),但是每个环境又不一样.部署一套新的环境成本是真的很高.如果我们能够使用类似于yum的工具来安装我们的应用的话那就太好了 ...

随机推荐

  1. 【投票】你心目中的Excel催化剂价值有多大(附主流国内外收费插件供参考)?

    Excel催化剂开发过程中,在前期功能中,也会参考着其他的插件的功能,也略略收集了一些其他插件的功能及价格信息,在当今免费等于鸡肋的时代,为了让大家不受这个免费的错觉影响,不妨以另一种角度去假设一翻, ...

  2. 个人永久性免费-Excel催化剂功能第95波-地图数据挖宝之IP地址转地理地址及不同经纬度版本转换

    经过上一波POI兴趣点查询后,地图数据挖宝也接近尾声,这次介绍在数据采集.准备过程中需要用到的一些转换功能,有IP地址转换地理地址及不同地图版本的经纬度转换. 背景知识 在电商.网络的数据分析过程中, ...

  3. CentOS虚拟机查询jdk路径

    [root@wshCentOS ~]# which java/usr/bin/java[root@wshCentOS ~]# ls -lrt /usr/bin/javalrwxrwxrwx. 1 ro ...

  4. Oracle导入dump文件

    imp USER/PASSWORD@host/DB_name file=xxx.dmp(path) full=y ignore=y

  5. 解决 document.getElementsByClassName 在 IE8 下的兼容下的问题

    H5中新增了一个令人期待已久的方法:getElementsByClassName,这个方法让我们可以通过 class 属性中的类名来访问元素,这是极好的. but! 这个方法在IE9以下的浏览器是不支 ...

  6. js - 原生ajax访问后台读取数据并显示在页面上

    1.前台调用ajax访问后台方法,并接收数据 <%@ page contentType="text/html;charset=UTF-8" language="ja ...

  7. Hadoop自学系列集(一) ---- 使用VMware安装CentOS

     1.概述 笔者的学习环境--在VMware虚拟机下安装四个CentOS系统(搭建Hadoop集群用),其中一个为Master,三个为Slave,Master作为Hadoop集群中的NameNode, ...

  8. 实现万行级excel导出---poi--ooxm的应用和采坑

    xl_echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!! - ...

  9. Docker 安装部署Sql Server

    前言 在如今,容器化概念越来越盛行,.Net Core项目也可以跨平台部署了,那么思考下Sql Server能不能呢?当然是可以的啦.本文今天就是介绍Docker部署配置和连接Sql Server.本 ...

  10. 初次见面C#排坑记录

    排一次开发C#遇到的坑,同时说一下自己对C#中文件夹构建方式的体会. 一个开发Java的人留下了痛苦的泪水,变量命名规则不一样,连括号打的都不一样,