包管理器主要用于下载、管理、编译和链接第三方库,许多语言都原生集成包管理器(例如Rust、Python、C#等),各种三方库下载即用。C++语言的一大缺陷就是缺乏原生的包管理器,这导致在项目中引用第三方库十分繁琐,尤其是需要引用大量第三方库的时候。但哪里有问题,哪里就有造轮子的人!vcpkg、Conan等C++包管理器应运而生。
vcpkg是微软开发的C++包管理器,使用非常方便,非常容易和Visual Studio IDE集成;但是vcpkg在安装包的过程中经常需要访问Github资源,对于网络受限的用户来说非常不友好。
为此,笔者投入了Conan阵营,Conan与vcpkg差异较大,三方库提供了多个预编译版本,在安装的过程中往往只需要下载这些预编译的版本即可(vcpkg每次都会下载源码进行编译),所以安装包的过程很迅速。它也提供对CMake和Visual Studio IDE的集成支持。
本文简要介绍Conan包管理器的基本用法。