打包一沓開源的 C/C++ 包管理工具送給你!

圖片描述

本文作者: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 公衆號,獲取更多開源項目的資料和內容

『精選開源項目系列』——跟着我們的文章,你會發現有趣的開源項目,從而愛上開源、愛上編程。加入我們、聯繫我們。讓我們一起讓更多人愛上開源、貢獻開源~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章