学习资源来源于
vcpkg如何使用?(上):用户级集成_哔哩哔哩_bilibili
微软的官方说明
本章节我们基于 bilibil 的视频学习
1.什么是 vcpkg
Vcpkg 是由 Microsoft 和 C++ 社区维护的免费开源 C/C++ 包管理器,
2. vcpkg能解决的问题
2.1 先看实际开发中的问题:
在实际开发中,我们会用到很多C++写好的库。
举例说明:我们使用C++ 开发音视频,一定会用到ffmpeg库,sdl 库,如果有rtmp流媒体,还可能用到librtmp库。
我们以ffmpeg说明,如果我们要用到ffmpeg库,那么一般是这样干的:
也就是说:我们会自己下载ffmepg,然后根据需求(例如一定要fdk-aac) build ffmpeg,而ffmpeg 又依赖于 x264,fdk-aac,x265等一系列第三方库,这些第三方库,我们也是要下载下来,然后build。而x264又有可能依赖 aaa这个库,这就导致很麻烦,微软看到了这个问题,于是弄了一个vcpkg这个工具。
2.2 也就是说,vcpkg的功能是:
1. vcpkg能帮我们 下载想要的 库,
2. 能帮我们build下载的库,如果下载的库build时候需要额外的第三方库,那么vcpkg会帮我们下载第三方库,并且build
总结:让C++开发者能够方便的安装和管理第三方库,避免手动下载,配置依赖,编译源码
3.vcpkg的特点

4. vcpkg实际上是一个命令行工具,这个程序是和github仓库结合使用
每个“端口”是一个文件夹,包含描述库如何下载,配置和编译的脚本(protfile.cmake)和元数据(CONTROL文件)
用户通过命令(如 vcpkg install zlib)触发 vcpkg下载源码,应用补丁(如果需要),配置和编译库,最终生成可用的静态或动态库
5. vcpkg 单独使用
5.1 环境要求:
1. windows10 或者更高版本
2. git
3. CMAKE(可选,用于于cmake项目集成)
4.磁盘空间:5G-10G 空间
5.2 先下载 vcpkg,vcpkg是绿色软件,不需要注册
5.2.1 使用命令
git clone https://github.com/microsoft/vcpkg.git

5.2.2 或者使用git 界面工具


注意由于github在中国的访问问题,经常访问不到。
5.3 运行启动脚本 将下载的vcpkg进行编译
cd vcpkg;
.\bootstrap-vcpkg.bat
这个命令会根据你当前下载的 vcpkg 下载一个新文件 vcpkg.exe
然后我们后续所有的工作实际上都是在操作这个vcpkg.exe

5.4 将vcpkg.exe的目录设置到环境变量,以方便我们以后的使用

6. vcpkg的重要文件
6.1 ports-保存支持的第三方库的信息。
注意的是,这时候我们并没有下载任何一个包,只是能看到有这些包。

我们可以看到这个文件夹下有 2639个第三方包。
以jsoncpp为例说明:


6.2 triplets
vcpkg支持编译的目标平台的设置


Powershell中执行如下命令:
vcpkg.exe help triplet

可以看到,此命令的输出完全对应triplets各个.cmake文件名
6.3 downloads
已下载的工具或源的缓存副本。 运行vcpkg install命令时,会首先搜索此处。
当没有下载任何第三方包的时候,该文件夹不存在,只有当我们下载了任意一个第三方库的时候才会生成
6.4 installed
6.5 packets
6.6 scripts
由 vcpkg 使用的脚本(CMake、PowerShell)。使用者不需要关心或修改此目录
7.使用 vcpkg 下载并安装我们想要的第三方包
我们以 zlib 为例说明:
vcpkg install zlib
我们看到,在执行这个命令的时候,本来是要下载 zlib,但是发现我们本地没有 cmake,因此先去下载 cmake

还可以看到,由于我们这个vcpkg是第一次下载第三方包,因此在vcpkg下生成了前面说到的downloads 和installed 文件夹

todo
如下的内容由于和 公司的之前的项目结合使用的不多,先预留放在这里。
5. windows 下 vs2019 如何集成 vcpkg?
5.1 环境要求:
1. windows10 或者更高版本
2.visual studio(建议2019,或者2022,包含C++开发组件,如果只是下载第三方库,自己手动配置,则不需要vs的版本是2019或2022)或MSVC编译器
3. CMAKE(可选,用于于cmake项目集成)
4.磁盘空间:5G-10G 空间
5.权限:建议以管理员身份运行命令提示符,或powershell(部分操作需要写入权限)
可以通过 visual studio installer 查看当前visual studio安装了哪些项目



9180

被折叠的 条评论
为什么被折叠?



